commit cc2c8be481d3bb81ba8881097aa153bcbf64fa23
parent e70ef80f7741905580d228927ca4f694e38777fe
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sat, 27 Aug 2022 06:36:26 +0800
vim-patch:9.0.0279: the tiny version has the popup menu but not 'wildmenu'
Problem: The tiny version has the popup menu but not 'wildmenu'.
Solution: Graduate the wildmenu feature.
https://github.com/vim/vim/commit/5416232707349d5f24294178f47544f2024b73ed
N/A patches for version.c:
vim-patch:9.0.0281: build failure without the +eval feature
Problem: Build failure without the +eval feature.
Solution: Add #ifdef.
https://github.com/vim/vim/commit/58dcbf1c6586d3873702e035b47829178a91250e
Diffstat:
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
@@ -6940,12 +6940,15 @@ A jump table for the options with a short description can be found at |Q_op|.
*'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'*
'wildmenu' 'wmnu' boolean (default on)
global
- Enables "enhanced mode" of command-line completion. When user hits
- <Tab> (or 'wildchar') to invoke completion, the possible matches are
- shown in a menu just above the command-line (see 'wildoptions'), with
- the first match highlighted (overwriting the statusline). Keys that
- show the previous/next match (<Tab>/CTRL-P/CTRL-N) highlight the
- match.
+ When 'wildmenu' is on, command-line completion operates in an enhanced
+ mode. On pressing 'wildchar' (usually <Tab>) to invoke completion,
+ the possible matches are shown.
+ When 'wildoptions' contains "pum", then the completion matches are
+ shown in a popup menu. Otherwise they are displayed just above the
+ command line, with the first match highlighted (overwriting the status
+ line, if there is one).
+ Keys that show the previous/next match, such as <Tab> or
+ CTRL-P/CTRL-N, cause the highlight to move to the appropriate match.
'wildmode' must specify "full": "longest" and "list" do not start
'wildmenu' mode. You can check the current mode with |wildmenumode()|.
The menu is canceled when a key is hit that is not used for selecting
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c
@@ -1808,6 +1808,7 @@ static int command_line_handle_key(CommandLineState *s)
// menu (if present)
cmdline_pum_cleanup(&ccline);
}
+
if (nextwild(&s->xpc, WILD_ALL, 0, s->firstc != '@') == FAIL) {
break;
}