diff --git a/modules/lsp/keymaps.nix b/modules/lsp/keymaps.nix index 694b9ce3..0de66ef5 100644 --- a/modules/lsp/keymaps.nix +++ b/modules/lsp/keymaps.nix @@ -105,10 +105,20 @@ in callback = lib.nixvim.mkRaw '' function(args) local __keymaps = ${ - lib.nixvim.lua.toLua' { - multiline = true; - indent = " "; - } cfg.keymaps + lib.pipe cfg.keymaps [ + (map (keymap: { + inherit (keymap) + mode + key + action + options + ; + })) + (lib.nixvim.lua.toLua' { + multiline = true; + indent = " "; + }) + ] } for _, keymap in ipairs(__keymaps) do diff --git a/tests/test-sources/modules/lsp.nix b/tests/test-sources/modules/lsp.nix index 4cb066a2..93a44c0b 100644 --- a/tests/test-sources/modules/lsp.nix +++ b/tests/test-sources/modules/lsp.nix @@ -86,13 +86,11 @@ { action = vim.lsp.buf["definition"], key = "gd", - lspBufAction = "definition", mode = "" }, { action = vim.lsp.buf["hover"], key = "K", - lspBufAction = "hover", mode = "" }, {