diff --git a/nvim/dot-config/nvim/lua/plugins/lsp.lua b/nvim/dot-config/nvim/lua/plugins/lsp.lua index f1b4b97..da1cbb1 100644 --- a/nvim/dot-config/nvim/lua/plugins/lsp.lua +++ b/nvim/dot-config/nvim/lua/plugins/lsp.lua @@ -79,6 +79,19 @@ return { -- Lesser used LSP functionality map("gD", vim.lsp.buf.declaration, "[G]oto [D]eclaration") + + local client = vim.lsp.get_client_by_id(event.data.client_id) + if client and client.server_capabilities.documentHighlightProvider then + vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, { + buffer = event.buf, + callback = vim.lsp.buf.document_highlight, + }) + + vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, { + buffer = event.buf, + callback = vim.lsp.buf.clear_references, + }) + end end, }) diff --git a/nvim/dot-config/nvim/lua/themes/gruvbox.lua b/nvim/dot-config/nvim/lua/themes/gruvbox.lua index 9b83e80..aca867e 100644 --- a/nvim/dot-config/nvim/lua/themes/gruvbox.lua +++ b/nvim/dot-config/nvim/lua/themes/gruvbox.lua @@ -32,6 +32,9 @@ return { CmpItemAbbrMatchFuzzy = { fg = colors.aqua, bold = true }, CmpItemMenu = { fg = colors.bg2 }, CmpItemKindFunction = { fg = colors.red }, + LspReferenceText = { fg = colors.bg0, bg = colors.neutral_purple }, + LspReferenceRead = { link = "LspReferenceText" }, + LspReferenceWrite = { link = "LspReferenceText" }, }, })