diff options
author | ThomasintAnker <thomasintanker1@gmail.com> | 2024-06-24 14:59:56 +0200 |
---|---|---|
committer | ThomasintAnker <thomasintanker1@gmail.com> | 2024-06-24 14:59:56 +0200 |
commit | a0c664908b9112306c5858ccb106d1a0e5555df7 (patch) | |
tree | 8ca77d1210d1683a97f4da131c6ffac8123d4375 /client/rl.cpp | |
parent | 381149dd7a1f4d5f48dd5ac07186c73371ff3c04 (diff) | |
parent | ec7f5e970ed03acb33eb5dc3b67f3d52af52e6dc (diff) |
merge main into wip/mc
Diffstat (limited to 'client/rl.cpp')
-rw-r--r-- | client/rl.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/client/rl.cpp b/client/rl.cpp index fa44bf4..2e74e5f 100644 --- a/client/rl.cpp +++ b/client/rl.cpp @@ -57,7 +57,7 @@ static char* rl_completion_entries(const char *text, int state) { if (state == 0) i = 0; while (i < cmds_length) { - struct cmd cmd = cmds[i]; + cmd_t cmd = cmds[i]; i++; if (strncmp(text, cmd.name, strlen(text)) == 0) { return strdup(cmd.name); @@ -119,24 +119,25 @@ int rl_word(const char * line, int cursor) { return word; } +/// \internal typedef struct { const char * word; - const char ** suggestions; + const char ** options; } __rl_complete_list_data_t; -char** rl_complete_list(const char * word, const char ** suggestions) { +char** rl_complete_list(const char * word, const char ** options) { __rl_complete_list_data_t data = { .word = word, - .suggestions = suggestions, + .options = options, }; return rl_completion_matches((char *) &data, [](const char * text, int state) -> char * { __rl_complete_list_data_t data = *(__rl_complete_list_data_t *) text; static size_t i = 0; if (state == 0) i = 0; - while (data.suggestions[i] != NULL) { - const char * suggestion = data.suggestions[i++]; - if (strncmp(data.word, suggestion, strlen(data.word)) == 0) - return strdup(suggestion); + while (data.options[i] != NULL) { + const char * option = data.options[i++]; + if (strncmp(data.word, option, strlen(data.word)) == 0) + return strdup(option); } return NULL; }); |