dotfiles/.config/nvim/lua/plugins/nvim-lspconfig.lua

96 lines
2.7 KiB
Lua

return {
{
"neovim/nvim-lspconfig",
---@class PluginLspOpts
opts = {
--@type lspconfig.options
servers = {
-- data/conf
sqlls = {},
taplo = {},
-- web
html = {
filetypes = { "html", "liquid" },
},
css_variables = { mason = false },
cssls = {},
denols = {},
volar = {
filetypes = {
"typescript",
"javascript",
"javascriptreact",
"typescriptreact",
"vue",
"json",
},
},
stylelint_lsp = {
settings = {
stylelintplus = {
autoFixOnFormat = true,
validateOnSave = true,
validateOnType = false,
},
},
},
emmet_language_server = {
filetypes = {
"css",
"eruby",
"html",
"javascriptreact",
"less",
"sass",
"scss",
"pug",
"typescriptreact",
"vue",
"blade",
},
-- Read more about this options in the [vscode docs](https://code.visualstudio.com/docs/editor/emmet#_emmet-configuration).
-- **Note:** only the options listed in the table are supported.
init_options = {
---@type table<string, string>
includeLanguages = {},
--- @type string[]
excludeLanguages = {},
--- @type string[]
extensionsPath = {},
--- @type table<string, any> [Emmet Docs](https://docs.emmet.io/customization/preferences/)
preferences = {},
--- @type boolean Defaults to `true`
showAbbreviationSuggestions = true,
--- @type "always" | "never" Defaults to `"always"`
showExpandedAbbreviation = "always",
--- @type boolean Defaults to `false`
showSuggestionsAsSnippets = false,
--- @type table<string, any> [Emmet Docs](https://docs.emmet.io/customization/syntax-profiles/)
syntaxProfiles = {},
--- @type table<string, string> [Emmet Docs](https://docs.emmet.io/customization/snippets/#variables)
variables = {},
},
},
-- php
intelephense = {
filetypes = { "php", "blade" },
settings = {
intelephense = {
filetypes = { "php", "blade" },
files = {
associations = { "*.php", "*.blade.php" },
maxSize = 5000000,
},
},
},
},
-- shell
bashls = {},
pkgbuild_language_server = { mason = false },
},
},
},
}