neovim-confs/lua/custom/configs/lspconfig.lua

115 lines
2.2 KiB
Lua
Raw Normal View History

2024-01-19 22:34:37 +01:00
local on_attach = require("plugins.configs.lspconfig").on_attach
local capabilities = require("plugins.configs.lspconfig").capabilities
local lspconfig = require "lspconfig"
-- if you just want default config for the servers then put them in a table
2024-01-20 16:22:40 +01:00
local servers = {
"html",
"cssls",
"tsserver",
"clangd",
"pyright",
2024-02-16 15:53:23 +01:00
-- "rust_analyzer", -- rustaceanvim wants to do that, but the builtin thing has better integration!
2024-01-20 16:22:40 +01:00
"bashls",
"cmake",
2024-03-11 14:38:16 +01:00
"yamlls",
2024-03-12 11:33:07 +01:00
"textlsp",
"texlab",
2024-01-20 16:22:40 +01:00
}
2024-01-19 22:34:37 +01:00
for _, lsp in ipairs(servers) do
lspconfig[lsp].setup {
on_attach = on_attach,
capabilities = capabilities,
}
end
2024-02-16 15:53:23 +01:00
lspconfig.rust_analyzer.setup {
on_attach = on_attach,
settings = {
["rust-analyzer"] = {
check = {
command = "clippy",
},
imports = {
granularity = {
group = "module",
},
prefix = "self",
},
cargo = {
buildScripts = {
enable = true,
},
},
procMacro = {
enable = true,
},
},
},
}
2024-03-12 11:33:07 +01:00
lspconfig.ltex.setup {
on_attach = on_attach,
capabilities = capabilities,
settings = {
ltex = {
-- specific language (such as en-GB or de-DE is recommended, but I
-- want multilingual)
language = "en-GB",
enabled = {
-- I'm writing in german but the commands are in english,
-- does not really work
-- "bibtex",
-- "tex",
-- "latex",
"gitcommit",
"markdown",
"org",
"restructuredtext",
"rsweave",
"quarto",
"rmd",
"context",
"html",
"xhtml",
},
},
},
}
lspconfig.textlsp.setup {
on_attach = on_attach,
capabilities = capabilities,
filetypes = {
"bibtex",
"tex",
"latex",
"gitcommit",
"markdown",
"org",
"restructuredtext",
"rsweave",
"quarto",
"rmd",
"context",
"html",
"xhtml",
},
settings = {
textLSP = {
analysers = {
languagetool = {
check_text = {
on_change = false,
on_open = true,
on_save = true,
},
enabled = false,
},
},
},
},
}