summaryrefslogtreecommitdiff
path: root/.config/nvim/lua/custom/config/lsp.lua
diff options
context:
space:
mode:
authorKyren223 <ulmliad223@gmail.com>2024-10-04 00:12:33 +0300
committerKyren223 <ulmliad223@gmail.com>2024-10-04 00:12:33 +0300
commit60d3026945ff69c6ab49247da8fc7b8193c26d34 (patch)
treefb6c27abe62d8eb177b3155914877fcd7e21d6d8 /.config/nvim/lua/custom/config/lsp.lua
parentc25f6912ab55e278a63b8bcd84bc7c287d8039af (diff)
feat: go lsp changes
Diffstat (limited to '.config/nvim/lua/custom/config/lsp.lua')
-rw-r--r--.config/nvim/lua/custom/config/lsp.lua12
1 files changed, 12 insertions, 0 deletions
diff --git a/.config/nvim/lua/custom/config/lsp.lua b/.config/nvim/lua/custom/config/lsp.lua
index 817b087..02ff31f 100644
--- a/.config/nvim/lua/custom/config/lsp.lua
+++ b/.config/nvim/lua/custom/config/lsp.lua
@@ -55,6 +55,18 @@ vim.api.nvim_create_autocmd('LspAttach', {
end
end
+ -- Workaround for semantic tokens apparently?
+ -- https://www.lazyvim.org/extras/lang/go
+ -- https://github.com/golang/go/issues/54531#issuecomment-1464982242
+ if client.name == 'gopls' and not client.server_capabilities.semanticTokensProvider then
+ local semantic = client.config.capabilities.textDocument.semanticTokens
+ client.server_capabilities.semanticTokensProvider = {
+ full = true,
+ legend = { tokenModifiers = semantic.tokenModifiers, tokenTypes = semantic.tokenTypes },
+ range = true,
+ }
+ end
+
-- Register buffer local LSP keymaps
require('custom.config.lsp-keymaps').setup(bufnr)
end,