diff options
author | andrew snelling <72226000+snelling-a@users.noreply.github.com> | 2024-11-22 13:51:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-22 12:51:30 +0000 |
commit | 9a681ad09e2add96d47bf3f39cca8029f3bf09df (patch) | |
tree | 36b33654d1b2ac813bf152a2c104e802e14af701 | |
parent | bff07f6dd0d8e58748f36670685dd6157a67976b (diff) | |
download | rneovim-9a681ad09e2add96d47bf3f39cca8029f3bf09df.tar.gz rneovim-9a681ad09e2add96d47bf3f39cca8029f3bf09df.tar.bz2 rneovim-9a681ad09e2add96d47bf3f39cca8029f3bf09df.zip |
fix(lsp): hover keymap (#31208)
* fix: use function call in keymap
* fix: test
-rw-r--r-- | runtime/lua/vim/lsp.lua | 4 | ||||
-rw-r--r-- | test/functional/plugin/lsp_spec.lua | 13 |
2 files changed, 13 insertions, 4 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua index c032d25cb1..6d29c9e4df 100644 --- a/runtime/lua/vim/lsp.lua +++ b/runtime/lua/vim/lsp.lua @@ -371,7 +371,9 @@ function lsp._set_defaults(client, bufnr) and is_empty_or_default(bufnr, 'keywordprg') and vim.fn.maparg('K', 'n', false, false) == '' then - vim.keymap.set('n', 'K', vim.lsp.buf.hover, { buffer = bufnr, desc = 'vim.lsp.buf.hover()' }) + vim.keymap.set('n', 'K', function() + vim.lsp.buf.hover() + end, { buffer = bufnr, desc = 'vim.lsp.buf.hover()' }) end end) if client:supports_method(ms.textDocument_diagnostic) then diff --git a/test/functional/plugin/lsp_spec.lua b/test/functional/plugin/lsp_spec.lua index f14e24bb19..332a1a48bb 100644 --- a/test/functional/plugin/lsp_spec.lua +++ b/test/functional/plugin/lsp_spec.lua @@ -466,10 +466,17 @@ describe('LSP', function() true, exec_lua(function() local keymap --- @type table<string,any> + local called = false + local origin = vim.lsp.buf.hover + vim.lsp.buf.hover = function() + called = true + end vim._with({ buf = _G.BUFFER }, function() keymap = vim.fn.maparg('K', 'n', false, true) end) - return keymap.callback == vim.lsp.buf.hover + keymap.callback() + vim.lsp.buf.hover = origin + return called end) ) client:stop() @@ -480,13 +487,13 @@ describe('LSP', function() eq('', get_buf_option('omnifunc')) eq('', get_buf_option('formatexpr')) eq( - '', + true, exec_lua(function() local keymap --- @type string vim._with({ buf = _G.BUFFER }, function() keymap = vim.fn.maparg('K', 'n', false, false) end) - return keymap + return keymap:match('<Lua %d+: .+/runtime/lua/vim/lsp%.lua:%d+>') ~= nil end) ) end, |