diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2018-12-01 10:35:45 +0100 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2018-12-01 10:37:46 +0100 |
commit | 2271b10a8e890f24d38caa7e8199ba3b83164872 (patch) | |
tree | 137f26108553f5d5d8b3ba9168a2f8ca1dcc959c | |
parent | a9e368a7050c86dff36d80dc1cced21de14dd3ac (diff) | |
download | rneovim-2271b10a8e890f24d38caa7e8199ba3b83164872.tar.gz rneovim-2271b10a8e890f24d38caa7e8199ba3b83164872.tar.bz2 rneovim-2271b10a8e890f24d38caa7e8199ba3b83164872.zip |
insert: make <cmd> mapping work in completion (CTRL-X) mode
-rw-r--r-- | src/nvim/edit.c | 3 | ||||
-rw-r--r-- | test/functional/ex_cmds/cmd_map_spec.lua | 34 |
2 files changed, 36 insertions, 1 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c index 451d19b8e3..c04190eaba 100644 --- a/src/nvim/edit.c +++ b/src/nvim/edit.c @@ -3195,7 +3195,8 @@ static bool ins_compl_prep(int c) /* Ignore end of Select mode mapping and mouse scroll buttons. */ if (c == K_SELECT || c == K_MOUSEDOWN || c == K_MOUSEUP - || c == K_MOUSELEFT || c == K_MOUSERIGHT || c == K_EVENT) { + || c == K_MOUSELEFT || c == K_MOUSERIGHT || c == K_EVENT + || c == K_COMMAND) { return retval; } diff --git a/test/functional/ex_cmds/cmd_map_spec.lua b/test/functional/ex_cmds/cmd_map_spec.lua index 67b3ab49d6..a5ce1abff7 100644 --- a/test/functional/ex_cmds/cmd_map_spec.lua +++ b/test/functional/ex_cmds/cmd_map_spec.lua @@ -29,6 +29,9 @@ describe('mappings with <Cmd>', function() [5] = {background = Screen.colors.LightGrey}, [6] = {foreground = Screen.colors.Blue1}, [7] = {bold = true, reverse = true}, + [8] = {background = Screen.colors.WebGray}, + [9] = {background = Screen.colors.LightMagenta}, + [10] = {foreground = Screen.colors.Red}, }) screen:attach() @@ -656,6 +659,37 @@ describe('mappings with <Cmd>', function() eq('n', eval('mode(1)')) end) + it('works in insert completion (Ctrl-X) mode', function() + feed('os<c-x><c-n>') + screen:expect([[ + some short lines | + some^ | + {8:some } | + {9:short }{1: }| + {1:~ }| + {1:~ }| + {1:~ }| + {4:-- Keyword Local completion (^N^P) }{3:match 1 of 2} | + ]]) + + feed('<f3>') + eq('ic', eval('m')) + + -- ensure a redraw, this would have moved the cursor + -- instead if CTRL-X mode was left. + feed('<up>') + screen:expect([[ + some short lines | + some^ | + {9:some } | + {9:short }{1: }| + {1:~ }| + {1:~ }| + {1:~ }| + {4:-- Keyword Local completion (^N^P) }{10:Back at original} | + ]]) + end) + it('works in cmdline mode', function() feed(':text<F3>') eq('c', eval('m')) |