dotfiles/nvim/lua/configs/lspconfig.lua
2024-04-15 00:53:01 +00:00

79 lines
1.4 KiB
Lua

-- EXAMPLE
local on_attach = require("nvchad.configs.lspconfig").on_attach
local on_init = require("nvchad.configs.lspconfig").on_init
local capabilities = require("nvchad.configs.lspconfig").capabilities
local lspconfig = require "lspconfig"
local servers = {
-- bash
"bashls",
-- webdev
"html",
"cssls",
"cssmodules_ls",
"tailwindcss",
"eslint",
"graphql",
-- go
"gopls",
-- python
"pylsp",
-- config
"jsonls",
"yamlls",
-- docker
"dockerls",
"docker_compose_language_service",
-- markdown
"marksman",
-- sql
"sqls",
}
-- lsps with default config
for _, lsp in ipairs(servers) do
lspconfig[lsp].setup {
on_attach = on_attach,
on_init = on_init,
capabilities = capabilities,
}
end
-- typescript
-- lspconfig.tsserver.setup {
-- on_attach = on_attach,
-- on_init = on_init,
-- capabilities = capabilities,
-- }
lspconfig.jsonls.setup {
settings = {
json = {
schemas = require('schemastore').json.schemas(),
validate = { enable = true },
},
},
}
lspconfig.yamlls.setup {
settings = {
yaml = {
schemaStore = {
-- You must disable built-in schemaStore support if you want to use
-- this plugin and its advanced options like `ignore`.
enable = false,
-- Avoid TypeError: Cannot read properties of undefined (reading 'length')
url = "",
},
schemas = require('schemastore').yaml.schemas(),
},
},
}