diff options
Diffstat (limited to 'src/nvim/ex_getln.c')
-rw-r--r-- | src/nvim/ex_getln.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index 17c17e60ce..89f5e92c33 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -4165,11 +4165,19 @@ static char *get_cmdline_completion(void) } char *cmd_compl = get_user_cmd_complete(p->xpc, p->xpc->xp_context); - if (cmd_compl != NULL) { - return xstrdup(cmd_compl); + if (cmd_compl == NULL) { + return NULL; } - return NULL; + if (p->xpc->xp_context == EXPAND_USER_LIST + || p->xpc->xp_context == EXPAND_USER_DEFINED) { + size_t buflen = strlen(cmd_compl) + strlen(p->xpc->xp_arg) + 2; + char *buffer = xmalloc(buflen); + snprintf(buffer, buflen, "%s,%s", cmd_compl, p->xpc->xp_arg); + return buffer; + } + + return xstrdup(cmd_compl); } /// "getcmdcompltype()" function |