From bad72f0817269bc519a4d13108370f4bfd6bf903 Mon Sep 17 00:00:00 2001 From: Will Ruggiano Date: Fri, 23 Feb 2024 12:22:00 -0700 Subject: [PATCH] fix: textDocument/documentHighlight --- plugins/lsp.lua | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/plugins/lsp.lua b/plugins/lsp.lua index bff9247..ad483bc 100644 --- a/plugins/lsp.lua +++ b/plugins/lsp.lua @@ -56,8 +56,6 @@ return function() client.config.flags.allow_incremental_sync = true end - local lsp_codelens = vim.api.nvim_create_augroup("LspCodelens", {}) - local keymap = require "bombadil.lib.keymap" -- Use an on_attach function to only map the following keys @@ -185,20 +183,26 @@ return function() }, } - vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, { - callback = vim.lsp.buf.document_highlight, - }) - vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, { - callback = vim.lsp.buf.clear_references, - }) + if client.supports_method "textDocument/documentHighlight" then + vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, { + buffer = bufnr, + callback = vim.lsp.buf.document_highlight, + once = true, + }) + vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, { + buffer = bufnr, + callback = vim.lsp.buf.clear_references, + once = true, + }) + end if client.supports_method "textDocument/codeLens" then vim.api.nvim_create_autocmd({ "BufEnter", "CursorHold", "InsertLeave" }, { - group = lsp_codelens, buffer = bufnr, callback = function() vim.lsp.codelens.refresh() end, + once = true, }) end end