aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/cmdexpand.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-01-05 08:23:51 +0800
committerGitHub <noreply@github.com>2024-01-05 08:23:51 +0800
commitdab584408211a39962a7313b7b8c4cb7e3717a7a (patch)
treec0e7155f60f7d148674fafd576da364284008bcb /src/nvim/cmdexpand.c
parent88eb0ad149d353c475455e4013cafa6db2a3f9f1 (diff)
downloadrneovim-dab584408211a39962a7313b7b8c4cb7e3717a7a.tar.gz
rneovim-dab584408211a39962a7313b7b8c4cb7e3717a7a.tar.bz2
rneovim-dab584408211a39962a7313b7b8c4cb7e3717a7a.zip
vim-patch:9.1.0010: Keymap completion is not available (#26888)
Problem: Keymap completion is not available Solution: Add keymap completion (Doug Kearns) Add keymap completion to the 'keymap' option, user commands and builtin completion functions. closes: vim/vim#13692 https://github.com/vim/vim/commit/81642d9d6ff5cd6a90a012b1b98632ce51eeb1a8 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Diffstat (limited to 'src/nvim/cmdexpand.c')
-rw-r--r--src/nvim/cmdexpand.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/nvim/cmdexpand.c b/src/nvim/cmdexpand.c
index 4dcdc06328..2d66526f33 100644
--- a/src/nvim/cmdexpand.c
+++ b/src/nvim/cmdexpand.c
@@ -99,6 +99,7 @@ static bool cmdline_fuzzy_completion_supported(const expand_T *const xp)
&& xp->xp_context != EXPAND_FILES_IN_PATH
&& xp->xp_context != EXPAND_FILETYPE
&& xp->xp_context != EXPAND_HELP
+ && xp->xp_context != EXPAND_KEYMAP
&& xp->xp_context != EXPAND_LUA
&& xp->xp_context != EXPAND_OLD_SETTING
&& xp->xp_context != EXPAND_STRING_SETTING
@@ -1215,6 +1216,7 @@ char *addstar(char *fname, size_t len, int context)
|| context == EXPAND_COMPILER
|| context == EXPAND_OWNSYNTAX
|| context == EXPAND_FILETYPE
+ || context == EXPAND_KEYMAP
|| context == EXPAND_PACKADD
|| context == EXPAND_RUNTIME
|| ((context == EXPAND_TAGS_LISTFILES || context == EXPAND_TAGS)
@@ -2741,6 +2743,10 @@ static int ExpandFromContext(expand_T *xp, char *pat, char ***matches, int *numM
char *directories[] = { "syntax", "indent", "ftplugin", NULL };
return ExpandRTDir(pat, 0, numMatches, matches, directories);
}
+ if (xp->xp_context == EXPAND_KEYMAP) {
+ char *directories[] = { "keymap", NULL };
+ return ExpandRTDir(pat, 0, numMatches, matches, directories);
+ }
if (xp->xp_context == EXPAND_USER_LIST) {
return ExpandUserList(xp, matches, numMatches);
}