aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorglacambre <code@lacamb.re>2019-08-14 19:07:04 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2019-09-08 20:47:22 +0200
commit958ca938b44ea7d6f126887f5bec98ee6d2f6f15 (patch)
treecb5ec1e2adaf7955796c9ad99d70ea4c32a392b2 /src
parent288526ae73d07471a484e3f5bd9662b1cecf0884 (diff)
downloadrneovim-958ca938b44ea7d6f126887f5bec98ee6d2f6f15.tar.gz
rneovim-958ca938b44ea7d6f126887f5bec98ee6d2f6f15.tar.bz2
rneovim-958ca938b44ea7d6f126887f5bec98ee6d2f6f15.zip
ex_getln.c: fix <S-Tab> not triggering pum when wildoptions=pum (#10042)
Some of the logic that was present for <Tab> was missing from <S-Tab>. Closes https://github.com/neovim/neovim/issues/10042.
Diffstat (limited to 'src')
-rw-r--r--src/nvim/ex_getln.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c
index 6b4092b5b4..3f7bc45c2e 100644
--- a/src/nvim/ex_getln.c
+++ b/src/nvim/ex_getln.c
@@ -1021,9 +1021,11 @@ static int command_line_execute(VimState *state, int key)
// <S-Tab> goes to last match, in a clumsy way
if (s->c == K_S_TAB && KeyTyped) {
- if (nextwild(&s->xpc, WILD_EXPAND_KEEP, 0, s->firstc != '@') == OK
- && nextwild(&s->xpc, WILD_PREV, 0, s->firstc != '@') == OK
- && nextwild(&s->xpc, WILD_PREV, 0, s->firstc != '@') == OK) {
+ if (nextwild(&s->xpc, WILD_EXPAND_KEEP, 0, s->firstc != '@') == OK) {
+ showmatches(&s->xpc, p_wmnu
+ && ((wim_flags[s->wim_index] & WIM_LIST) == 0));
+ nextwild(&s->xpc, WILD_PREV, 0, s->firstc != '@');
+ nextwild(&s->xpc, WILD_PREV, 0, s->firstc != '@');
return command_line_changed(s);
}
}