summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/linenoise/linenoise.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/linenoise/linenoise.h')
-rw-r--r--3rdparty/linenoise/linenoise.h31
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 */