chezmoi/dot_config/nvim/lua/plugins/lspconfig.lua

123 lines
3.1 KiB
Lua
Raw Normal View History

return {
"neovim/nvim-lspconfig",
opts = {
---@type lspconfig.options
servers = {
tailwindcss = {
filetypes = {
"css",
"scss",
"sass",
"html",
"javascriptreact",
"typescriptreact",
"rust",
"svelte",
},
init_options = {
userLanguages = {
rust = "html"
}
},
settings = {
includeLanguages = {
rust = "html",
}
},
tailwindcss = {
experimental = {
classRegex = {
[[class= "([^"]*)]],
[[class: "([^"]*)]],
'~H""".*class="([^"]*)".*"""',
'~F""".*class="([^"]*)".*"""',
},
},
validate = true
}
},
jsonls = {
on_new_config = function(new_config)
new_config.settings.json.schemas = new_config.settings.json.schemas or {
}
vim.list_extend(new_config.settings.json.schemas, require("schemastore").json.schemas())
end,
settings = {
json = {
validate = { enable = true },
schemas = {
{
description = "shuttle go plan",
fileMatch = {
"shuttle.yaml"
},
name = "shuttle.yaml",
url = "file:///Users/kah/git/github.com/lunarway/lw-shuttle-go-plan/.schemastore/schema.json"
}
}
}
}
},
yamlls = {
on_new_config = function(new_config)
new_config.settings.json.schemas = new_config.settings.json.schemas or {
}
vim.list_extend(new_config.settings.json.schemas, require("schemastore").json.schemas())
end,
settings = {
yaml = {
validate = true,
schemas = {
["file:///Users/kah/git/github.com/lunarway/lw-shuttle-go-plan/.schemastore/schema.json"] = "shuttle.yaml"
--{
-- description = "shuttle go plan",
-- fileMatch = {
-- "shuttle.yaml"
-- },
-- name = "shuttle.yaml",
-- url =
--}
}
}
}
},
pylsp = {
settings = {
pylsp = {
plugins = {
autopep8 = {
enabled = false
},
yapf = {
enabled = false
},
pylint = {
enabled = true
},
flake8 = {
enabled = true
},
["pylsp-mypy"] = {
enabled = true,
livemode = true
},
["pylsp-rope"] = {
enabled = true
},
["pyls-isort"] = {
enabled = true
},
["python-lsp-black"] = {
enabled = true
},
["pyls-memestra"] = {
enabled = true
},
}
}
}
}
}
}
}