aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2022-01-10 15:50:37 +0100
committerGitHub <noreply@github.com>2022-01-10 15:50:37 +0100
commit69f1f906a0666728aca0b61e1c2e3fe1e04b311b (patch)
treeb7c6e52e5ee96c1df79ca41a35655ffd3c7383cd
parent2818de8b7647480e703080de7bfa585dde71f342 (diff)
parent42e5fd32b0f551358659e7ea5966c087446fe97a (diff)
downloadrneovim-69f1f906a0666728aca0b61e1c2e3fe1e04b311b.tar.gz
rneovim-69f1f906a0666728aca0b61e1c2e3fe1e04b311b.tar.bz2
rneovim-69f1f906a0666728aca0b61e1c2e3fe1e04b311b.zip
Merge pull request #17025 from zeertzjq/compl-k-lua
fix(completion): prevent K_LUA from closing pum
-rw-r--r--src/nvim/edit.c2
-rw-r--r--test/functional/api/keymap_spec.lua10
2 files changed, 11 insertions, 1 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
index 5eef4350b7..aa37d1b2dd 100644
--- a/src/nvim/edit.c
+++ b/src/nvim/edit.c
@@ -3620,7 +3620,7 @@ 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_COMMAND) {
+ || c == K_COMMAND || c == K_LUA) {
return retval;
}
diff --git a/test/functional/api/keymap_spec.lua b/test/functional/api/keymap_spec.lua
index bc2759ade7..450a76ddac 100644
--- a/test/functional/api/keymap_spec.lua
+++ b/test/functional/api/keymap_spec.lua
@@ -820,6 +820,16 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
eq(99, exec_lua[[return SomeValue]])
end)
+ it('does not reset pum in lua mapping', function()
+ eq(0, exec_lua [[
+ VisibleCount = 0
+ vim.api.nvim_set_keymap ('i', '<F2>', '', {callback = function() VisibleCount = VisibleCount + vim.fn.pumvisible() end})
+ return VisibleCount
+ ]])
+ feed('i<C-X><C-V><F2><F2><esc>')
+ eq(2, exec_lua[[return VisibleCount]])
+ end)
+
it('can overwrite lua mappings', function()
eq(0, exec_lua [[
GlobalCount = 0