aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_getln.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/ex_getln.c')
-rw-r--r--src/nvim/ex_getln.c14
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