Fixed documentHighlight error after restarting LSP

This commit is contained in:
Dreaded_X 2024-06-28 01:47:00 +02:00
parent 84128270ff
commit ca6a204247
Signed by: Dreaded_X
GPG Key ID: FA5F485356B0D2D4

View File

@ -53,7 +53,7 @@ return {
end
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("LspAttach", { clear = true }),
group = vim.api.nvim_create_augroup("lsp-attach", { clear = true }),
callback = function(event)
local map = function(keys, func, desc)
vim.keymap.set("n", keys, func, { buffer = event.buf, desc = "LSP:" .. desc })
@ -87,17 +87,30 @@ return {
local client = vim.lsp.get_client_by_id(event.data.client_id)
-- Turn of lsp based syntax highlighting
if client then
client.server_capabilities.semanticTokensProvider = nil
if client and client.server_capabilities.documentHighlightProvider then
if client.server_capabilities.documentHighlightProvider then
local highlight_augrup = vim.api.nvim_create_augroup("lsp-highlight", { clear = false })
vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, {
buffer = event.buf,
group = highlight_augrup,
callback = vim.lsp.buf.document_highlight,
})
vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, {
buffer = event.buf,
group = highlight_augrup,
callback = vim.lsp.buf.clear_references,
})
vim.api.nvim_create_autocmd("LspDetach", {
group = vim.api.nvim_create_augroup("lsp-detach", { clear = true }),
callback = function(event2)
vim.lsp.buf.clear_references()
vim.api.nvim_clear_autocmds({ group = highlight_augrup, buffer = event2.buf })
end,
})
end
end
end,
})