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

116 lines
2.2 KiB
Lua

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
local servers = {
"html",
"cssls",
"tsserver",
"clangd",
"pyright",
-- "rust_analyzer", -- rustaceanvim wants to do that, but the builtin thing has better integration!
"bashls",
"cmake",
"yamlls",
"textlsp",
"texlab",
}
for _, lsp in ipairs(servers) do
lspconfig[lsp].setup {
on_attach = on_attach,
capabilities = capabilities,
}
end
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,
},
},
},
}
local ltex_table = {
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.ltex.setup(ltex_table)
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,
},
},
},
},
}