updated neovim lsp config

This commit is contained in:
Jef Roosens 2025-09-28 20:13:57 +02:00
parent 3b8ef2383f
commit 0af1d2ba9c
Signed by: Jef Roosens
GPG key ID: 21FD3D77D56BAF49
7 changed files with 97 additions and 21 deletions

View file

@ -37,8 +37,8 @@ cmp.setup({
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
-- { name = 'vsnip' }, -- For vsnip users.
{ name = 'luasnip' }, -- For luasnip users.
-- { name = 'vsnip' }, -- For vsnip users.
-- { name = 'ultisnips' }, -- For ultisnips users.
-- { name = 'snippy' }, -- For snippy users.
}, {

View file

@ -27,21 +27,31 @@ end
local capabilities = require('cmp_nvim_lsp').default_capabilities()
-- Comes with clang
require'lspconfig'.clangd.setup{on_attach = on_attach, capabilities = capabilities}
vim.lsp.config('clangd', {
on_attach = on_attach,
capabilities = capabilities
})
vim.lsp.enable('clangd')
-- NPM: dockerfile-language-server-nodejs
require'lspconfig'.dockerls.setup{capabilities = capabilities}
-- vim.lsp.config('dockerls', {
-- capabilities = capabilities
-- })
-- vim.lsp.enable('dockerls')
-- Pacman: haskell-language-server
-- AUR: haskell-language-server-bin
-- GH: https://github.com/haskell/haskell-language-server
require'lspconfig'.hls.setup{
on_attach = on_attach,
settings = {
haskell = {
formattingProvider = "stylish-haskell"
}
},
capabilities = capabilities
}
-- vim.lsp.config('hls', {
-- on_attach = on_attach,
-- settings = {
-- haskell = {
-- formattingProvider = "stylish-haskell"
-- }
-- },
-- capabilities = capabilities
-- })
-- Pacman: vieter-vls (requires my Vieter repository)
-- GH: https://github.com/vlang/vls
-- require'lspconfig'.vls.setup{
@ -49,19 +59,42 @@ require'lspconfig'.hls.setup{
-- filetypes = {'v'},
-- on_attach = on_attach
-- }
-- Pacman: rust-analyzer
-- GH: https://github.com/rust-analyzer/rust-analyzer
require'lspconfig'.rust_analyzer.setup{on_attach = on_attach, capabilities = capabilities}
vim.lsp.config('rust_analyzer', {
on_attach = on_attach,
capabilities = capabilities
})
vim.lsp.enable('rust_analyzer')
-- Installed using R shell:
-- `install.packages('languageserver')`
-- GH: https://github.com/REditorSupport/languageserver
require'lspconfig'.r_language_server.setup{capabilities = capabilities}
-- vim.lsp.config('r_language_server', {
-- capabilities = capabilities
-- })
-- Installed using Go CLI:
-- go install github.com/nametake/golangci-lint-langserver@latest
-- go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
require'lspconfig'.gopls.setup{on_attach = on_attach, capabilities = capabilities}
vim.lsp.config('gopls', {
on_attach = on_attach,
capabilities = capabilities
})
vim.lsp.enable('gopls')
require'lspconfig'.texlab.setup{on_attach = on_attach, capabilities = capabilities}
vim.lsp.config('texlab', {
on_attach = on_attach,
capabilities = capabilities
})
vim.lsp.enable('texlab')
vim.lsp.config('ltex_plus', {
on_attach = on_attach,
capabilities = capabilities
})
vim.lsp.enable('ltex_plus')
-- Fix that stops rust-analyzer interrupting typing when a request is cancelled
for _, method in ipairs({ 'textDocument/diagnostic', 'workspace/diagnostic' }) do

View file

@ -0,0 +1,7 @@
local ls = require("luasnip")
-- Load my global snippets
require("luasnip.loaders.from_snipmate").lazy_load({paths = "~/.config/nvim/snippets"})
-- vim.keymap.set({"i", "s"}, "<Tab>", function() ls.jump( 1) end, {silent = true})
-- vim.keymap.set({"i", "s"}, "<S-Tab>", function() ls.jump(-1) end, {silent = true})

View file

@ -1,5 +1,15 @@
require"nvim-treesitter.configs".setup {
require"nvim-treesitter".setup {
highlight = { enable = true }
}
local parser_config = require "nvim-treesitter.parsers".get_parser_configs()
parser_config.v = {}
-- local parser_config = require "nvim-treesitter.parsers".get_parser_configs()
-- parser_config.v = {}
vim.api.nvim_create_autocmd('FileType', {
pattern = { 'rust', 'go' },
callback = function()
vim.wo.foldmethod = "expr"
vim.opt.foldexpr = "v:lua.vim.treesitter.foldexpr()"
vim.opt.foldtext = ""
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
end,
})