diff --git a/home/editors/neovim/lsp/lsp.lua b/home/editors/neovim/lsp/lsp.lua index 7b46b09..793c448 100644 --- a/home/editors/neovim/lsp/lsp.lua +++ b/home/editors/neovim/lsp/lsp.lua @@ -1,19 +1,30 @@ local pid = vim.fn.getpid() -- lightbulb -vim.cmd [[autocmd CursorHold,CursorHoldI * lua require'nvim-lightbulb'.update_lightbulb()]] +vim.api.nvim_create_autocmd({"CursorHold", "CursorHoldI"}, { + pattern = "*", + callback = require"nvim-lightbulb".update_lightbulb, +}) -local on_attach = function(_, bufnr) +local on_attach = function(client, bufnr) -- codelens - vim.api.nvim_command [[autocmd CursorHold,CursorHoldI,InsertLeave lua vim.lsp.codelens.refresh()]] - vim.keymap.set("n", "l", vim.lsp.codelens.run, { silent = true, buffer = bufnr }) + if client.resolved_capabilities.code_lens then + vim.api.nvim_create_autocmd({"CursorHold", "CursorHoldI", "InsertLeave"}, { + callback = vim.lsp.codelens.refresh, + buffer = bufnr, + }) + end end -- format on save local diagnosticls_on_attach = function(_, bufnr) on_attach(_, bufnr) - vim.api.nvim_command( - "au BufWritePre lua vim.lsp.buf.formatting_seq_sync(nil, nil, { 'tsserver', 'diagnosticls' })") + vim.api.nvim_create_autocmd("BufWritePre", { + callback = function() + vim.lsp.buf.formatting_seq_sync(nil, nil, { "tsserver", "diagnosticls" }) + end, + buffer = bufnr, + }) end diff --git a/home/editors/neovim/lsp/mappings.lua b/home/editors/neovim/lsp/mappings.lua index 0ceed0e..e03b7ea 100644 --- a/home/editors/neovim/lsp/mappings.lua +++ b/home/editors/neovim/lsp/mappings.lua @@ -13,3 +13,4 @@ vim.keymap.set("n", "f", function() end, { silent = true }) vim.keymap.set("n", "a", vim.lsp.buf.code_action, { silent = true }) vim.keymap.set("n", "r", vim.lsp.buf.rename, { silent = true }) +vim.keymap.set("n", "l", vim.lsp.codelens.run, { silent = true })