diff options
Diffstat (limited to '3rdparty/linenoise/linenoise.h')
-rw-r--r-- | 3rdparty/linenoise/linenoise.h | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/3rdparty/linenoise/linenoise.h b/3rdparty/linenoise/linenoise.h index aa1f77ec819..8842de3a4e8 100644 --- a/3rdparty/linenoise/linenoise.h +++ b/3rdparty/linenoise/linenoise.h @@ -37,29 +37,38 @@ #ifndef __LINENOISE_H #define __LINENOISE_H +#ifdef __cplusplus +extern "C" { +#endif + #ifndef NO_COMPLETION typedef struct linenoiseCompletions { size_t len; char **cvec; - int pos; } linenoiseCompletions; /* * The callback type for tab completion handlers. */ -typedef void(linenoiseCompletionCallback)(const char *prefix, linenoiseCompletions *comp, int pos); +typedef void(linenoiseCompletionCallback)(const char *prefix, linenoiseCompletions *comp, void *userdata); /* * Sets the current tab completion handler and returns the previous one, or NULL * if no prior one has been set. */ -linenoiseCompletionCallback * linenoiseSetCompletionCallback(linenoiseCompletionCallback *comp); +linenoiseCompletionCallback * linenoiseSetCompletionCallback(linenoiseCompletionCallback *comp, void *userdata); /* * Adds a copy of the given string to the given completion list. The copy is owned * by the linenoiseCompletions object. */ -void linenoiseAddCompletion(linenoiseCompletions *comp, const char *str, int pos); +void linenoiseAddCompletion(linenoiseCompletions *comp, const char *str); + +typedef char*(linenoiseHintsCallback)(const char *, int *color, int *bold, void *userdata); +typedef void(linenoiseFreeHintsCallback)(void *hint, void *userdata); +void linenoiseSetHintsCallback(linenoiseHintsCallback *callback, void *userdata); +void linenoiseSetFreeHintsCallback(linenoiseFreeHintsCallback *callback); + #endif /* @@ -72,6 +81,11 @@ void linenoiseAddCompletion(linenoiseCompletions *comp, const char *str, int pos char *linenoise(const char *prompt); /** + * Like linenoise() but starts with an initial buffer. + */ +char *linenoiseWithInitial(const char *prompt, const char *initial); + +/** * Clear the screen. */ void linenoiseClearScreen(void); @@ -123,8 +137,13 @@ char **linenoiseHistory(int *len); */ int linenoiseColumns(void); -void linenoisePreloadBuffer(const char* preloadText); +/** + * Enable or disable multiline mode (disabled by default) + */ +void linenoiseSetMultiLine(int enableml); -void linenoiseRefresh(void); +#ifdef __cplusplus +} +#endif #endif /* __LINENOISE_H */ |