diff --git a/lua/mappings.lua b/lua/mappings.lua index 4b67bf0..1b69251 100644 --- a/lua/mappings.lua +++ b/lua/mappings.lua @@ -73,11 +73,13 @@ function moveCursorToMouse() vim.fn.setpos(".", { 0, mousePos.line, mousePos.column, 0 }) end -function hover() - if dap.session() then - dapui.eval() - else - vim.lsp.buf.signature_help() +function dap_or(func) + return function () + if dap.session() then + dapui.eval() + else + func() + end end end @@ -107,10 +109,10 @@ vim.api.nvim_create_autocmd('LspAttach', { s('n', 'gD', vim.lsp.buf.declaration, { buffer = ev.buf, desc = "Goto declaration" }) s('n', 'gd', telescope.lsp_definitions, { buffer = ev.buf, desc = "Goto definition" }) s( {'n', 'v'}, 'K', vim.lsp.buf.hover, { buffer = ev.buf, desc = "lsp Hover" }) - s( {'n', 'v'}, '', hover, { buffer = ev.buf, desc = "dap eval" }) + s( {'n', 'v'}, '', dap_or(vim.lsp.buf.signature_help), { buffer = ev.buf, desc = "dap eval" }) s( {'n', 'v'}, '', - function() moveCursorToMouse() vim.lsp.buf.hover() end, + function() moveCursorToMouse() dap_or(vim.lsp.buf.hover)() end, { buffer = ev.buf, desc = "Hover" } ) s('n', 'gi', telescope.lsp_implementations, { buffer = ev.buf, desc = "Goto implementation" })