diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-01-15 07:23:51 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2023-01-15 07:36:58 +0800 |
commit | 940643aa331e31678467c770b77808e0b4240b34 (patch) | |
tree | d0fb1562b4281efd1f9b3453c649d625321ebcb3 /src/nvim/ex_getln.c | |
parent | 066a1a069b2b0d97308ed2bdb18fbef488051e12 (diff) | |
download | rneovim-940643aa331e31678467c770b77808e0b4240b34.tar.gz rneovim-940643aa331e31678467c770b77808e0b4240b34.tar.bz2 rneovim-940643aa331e31678467c770b77808e0b4240b34.zip |
vim-patch:8.2.4585: cannot use keypad page-up/down for completion menu
Problem: Cannot use keypad page-up/down for completion menu.
Solution: Recognize the keypad keys. (Yegappan Lakshmanan, closes vim/vim#9963)
https://github.com/vim/vim/commit/155b0882088ff115dcfb6ce466fe7c8cc2bef349
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Diffstat (limited to 'src/nvim/ex_getln.c')
-rw-r--r-- | src/nvim/ex_getln.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index fc227f357e..62586598bf 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -2010,8 +2010,8 @@ static int command_line_handle_key(CommandLineState *s) case Ctrl_N: // next match case Ctrl_P: // previous match if (s->xpc.xp_numfiles > 0) { - if (nextwild(&s->xpc, (s->c == Ctrl_P) ? WILD_PREV : WILD_NEXT, - 0, s->firstc != '@') == FAIL) { + const int wild_type = (s->c == Ctrl_P) ? WILD_PREV : WILD_NEXT; + if (nextwild(&s->xpc, wild_type, 0, s->firstc != '@') == FAIL) { break; } return command_line_not_changed(s); @@ -2031,9 +2031,9 @@ static int command_line_handle_key(CommandLineState *s) || s->c == K_KPAGEUP || s->c == K_KPAGEDOWN)) { // If the popup menu is displayed, then PageUp and PageDown // are used to scroll the menu. - if (nextwild(&s->xpc, - (s->c == K_PAGEUP) ? WILD_PAGEUP : WILD_PAGEDOWN, - 0, s->firstc != '@') == FAIL) { + const int wild_type = + (s->c == K_PAGEDOWN || s->c == K_KPAGEDOWN) ? WILD_PAGEDOWN : WILD_PAGEUP; + if (nextwild(&s->xpc, wild_type, 0, s->firstc != '@') == FAIL) { break; } return command_line_not_changed(s); |