diff options
Diffstat (limited to 'src/third_party/linenoise/example.c')
-rw-r--r-- | src/third_party/linenoise/example.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/third_party/linenoise/example.c b/src/third_party/linenoise/example.c new file mode 100644 index 00000000000..ea0b515c1fc --- /dev/null +++ b/src/third_party/linenoise/example.c @@ -0,0 +1,27 @@ +#include <stdio.h> +#include <stdlib.h> +#include "linenoise.h" + + +void completion(const char *buf, linenoiseCompletions *lc) { + if (buf[0] == 'h') { + linenoiseAddCompletion(lc,"hello"); + linenoiseAddCompletion(lc,"hello there"); + } +} + +int main(void) { + char *line; + + linenoiseSetCompletionCallback(completion); + linenoiseHistoryLoad("history.txt"); /* Load the history at startup */ + while((line = linenoise("hello> ")) != NULL) { + if (line[0] != '\0') { + printf("echo: '%s'\n", line); + linenoiseHistoryAdd(line); + linenoiseHistorySave("history.txt"); /* Save every new entry */ + } + free(line); + } + return 0; +} |