aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--nvim/.config/nvim/lua/tobyvin/lsp.lua16
1 files changed, 13 insertions, 3 deletions
diff --git a/nvim/.config/nvim/lua/tobyvin/lsp.lua b/nvim/.config/nvim/lua/tobyvin/lsp.lua
index 159a850..3dbe969 100644
--- a/nvim/.config/nvim/lua/tobyvin/lsp.lua
+++ b/nvim/.config/nvim/lua/tobyvin/lsp.lua
@@ -1,4 +1,4 @@
-local augroup = vim.api.nvim_create_augroup("lsp", {})
+local augroup = vim.api.nvim_create_augroup("lsp", { clear = true })
for method, handler in pairs(require("tobyvin.lsp.handlers")) do
vim.lsp.handlers[method] = handler
@@ -15,7 +15,7 @@ vim.api.nvim_create_autocmd("LspAttach", {
group = augroup,
buffer = args.buf,
callback = vim.lsp.buf.document_highlight,
- desc = "document highlight",
+ desc = "highlight references",
})
vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, {
@@ -26,7 +26,17 @@ vim.api.nvim_create_autocmd("LspAttach", {
})
end
- if vim.tbl_get(client.server_capabilities, "experimental", "externalDocs") then
+ if client.server_capabilities.codeLensProvider then
+ vim.lsp.codelens.refresh()
+ vim.api.nvim_create_autocmd({ "TextChanged", "InsertLeave" }, {
+ group = augroup,
+ buffer = args.buf,
+ callback = vim.lsp.codelens.refresh,
+ desc = "refresh codelens",
+ })
+ end
+
+ if (client.server_capabilities.experimental or {}).externalDocs then
vim.keymap.set("n", "gx", vim.lsp.buf.external_docs, { desc = "external_docs", buffer = args.buf })
end