96 lines
2.1 KiB
Lua
96 lines
2.1 KiB
Lua
require("nvchad.configs.lspconfig").defaults()
|
|
|
|
local lspconfig = require "lspconfig"
|
|
local nvlsp = require "nvchad.configs.lspconfig"
|
|
|
|
local servers =
|
|
{ "html", "cssls", "jdtls", "clangd", "gopls", "stylelint_lsp", "jsonls", "svelte", "eslint", "lemminx" }
|
|
|
|
for _, lsp in ipairs(servers) do
|
|
lspconfig[lsp].setup {
|
|
on_attach = nvlsp.on_attach,
|
|
on_init = nvlsp.on_init,
|
|
capabilities = nvlsp.capabilities,
|
|
}
|
|
end
|
|
|
|
lspconfig["tailwindcss"].setup {
|
|
on_attach = nvlsp.on_attach,
|
|
on_init = nvlsp.on_init,
|
|
capabilities = nvlsp.capabilities,
|
|
settings = {
|
|
validate = true,
|
|
filetypes = { "svelte" },
|
|
},
|
|
}
|
|
|
|
local ymlCapabilities = vim.lsp.protocol.make_client_capabilities()
|
|
ymlCapabilities.textDocument.foldingRange = {
|
|
dynamicRegistration = false,
|
|
lineFoldingOnly = true,
|
|
}
|
|
|
|
lspconfig.yamlls.setup {
|
|
on_attach = nvlsp.on_attach,
|
|
on_init = nvlsp.on_init,
|
|
capabilities = ymlCapabilities,
|
|
settings = {
|
|
yaml = {
|
|
schemas = {},
|
|
},
|
|
},
|
|
}
|
|
|
|
lspconfig.vtsls.setup {
|
|
on_init = nvlsp.on_init,
|
|
on_attach = nvlsp.on_attach,
|
|
capabilities = nvlsp.capabilities,
|
|
filetypes = {
|
|
"javascript",
|
|
"javascriptreact",
|
|
"javascript.jsx",
|
|
"typescript",
|
|
"typescriptreact",
|
|
"typescript.tsx",
|
|
"vue",
|
|
},
|
|
settings = {
|
|
vtsls = {
|
|
autoUseWorkspaceTsdk = true,
|
|
tsserver = {
|
|
globalPlugins = {
|
|
{
|
|
name = "@vue/typescript-plugin",
|
|
location = vim.fn.stdpath "data" .. "/mason/packages/vue-language-server/node_modules/@vue/language-server",
|
|
languages = { "vue" },
|
|
configNamespace = "typescript",
|
|
enableForWorkspaceTypeScriptVersions = true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
typescript = {
|
|
preferences = {
|
|
importModuleSpecifier = "non-relative",
|
|
updateImportsOnFileMove = {
|
|
enabled = "always",
|
|
},
|
|
suggest = {
|
|
completeFunctionCalls = true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
lspconfig.volar.setup {
|
|
on_init = nvlsp.on_init,
|
|
on_attach = nvlsp.on_attach,
|
|
capabilities = nvlsp.capabilities,
|
|
settings = {
|
|
emmet = {
|
|
showExpandedAbbreviation = "never",
|
|
},
|
|
},
|
|
}
|