diff --git a/.config/nvim/lua/lsp.lua b/.config/nvim/lua/lsp.lua index 3b35161a..d720c41c 100644 --- a/.config/nvim/lua/lsp.lua +++ b/.config/nvim/lua/lsp.lua @@ -8,11 +8,13 @@ M.on_attach = function(client, bufnr) ---@param bind string ---@param cmd function | string ---@param desc string - local function nnoremap(bind, cmd, desc) + ---@param extraArgs? table + local function nnoremap(bind, cmd, desc, extraArgs) local args = { buffer = bufnr, desc = "LSP: " .. desc, } + args = vim.tbl_deep_extend("keep", args, extraArgs or {}) vim.keymap.set("n", bind, cmd, args) end @@ -24,7 +26,7 @@ M.on_attach = function(client, bufnr) -- TODO: Maybe remove these or use the defaults? nnoremap("cl", vim.lsp.codelens.run, "run codelens") nnoremap("r", vim.lsp.buf.rename, "rename symbol") - nnoremap("f", function() vim.lsp.buf.format { async = true } end, "format buffer") + pcall(nnoremap, "f", function() vim.lsp.buf.format { async = true } end, "format buffer", { unique = true }) local filetype = vim.api.nvim_get_option_value("filetype", { buf = bufnr }) if