107 lines
2.7 KiB
Lua
107 lines
2.7 KiB
Lua
-- http://www.lazyvim.org/extras/lang/vue
|
|
|
|
require("lspconfig").ts_ls.setup({
|
|
cmd = { "typescript-language-server", "--stdio" },
|
|
filetype = { "javascript", "html" },
|
|
})
|
|
|
|
return {
|
|
{
|
|
"nvim-treesitter/nvim-treesitter",
|
|
opts = { ensure_installed = { "vue", "css", "scss", "go", "gomod", "gowork", "gosum", "json5" } },
|
|
},
|
|
{
|
|
"williamboman/mason.nvim",
|
|
opts = {
|
|
ensure_installed = {
|
|
"bash-language-server",
|
|
"css-lsp",
|
|
"html-lsp",
|
|
"vue-language-server",
|
|
"vtsls",
|
|
"typescript-language-server",
|
|
"gopls",
|
|
"helm-ls",
|
|
"json-lsp",
|
|
"goimports",
|
|
"gofumpt",
|
|
"gomodifytags",
|
|
"impl",
|
|
"delve",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"neovim/nvim-lspconfig",
|
|
opts = {
|
|
servers = {
|
|
volar = {
|
|
init_options = {
|
|
vue = {
|
|
hybridMode = true,
|
|
},
|
|
},
|
|
},
|
|
tsserver = {
|
|
enabled = false,
|
|
},
|
|
ts_ls = {
|
|
enabled = false,
|
|
},
|
|
vtsls = {
|
|
enabled = false,
|
|
filetypes = {
|
|
"vue",
|
|
"javascript",
|
|
"javascriptreact",
|
|
"javascript.jsx",
|
|
"typescript",
|
|
"typescriptreact",
|
|
"typescript.tsx",
|
|
},
|
|
settings = {
|
|
complete_function_calls = true,
|
|
vtsls = {
|
|
enableMoveToFileCodeAction = true,
|
|
autoUseWorkspaceTsdk = true,
|
|
experimental = {
|
|
completion = {
|
|
enableServerSideFuzzyMatch = true,
|
|
},
|
|
},
|
|
},
|
|
typescript = {
|
|
updateImportsOnFileMove = { enabled = "always" },
|
|
suggest = {
|
|
completeFunctionCalls = true,
|
|
},
|
|
inlayHints = {
|
|
enumMemberValues = { enabled = true },
|
|
functionLikeReturnTypes = { enabled = false },
|
|
parameterNames = { enabled = false },
|
|
parameterTypes = { enabled = false },
|
|
propertyDeclarationTypes = { enabled = true },
|
|
variableTypes = { enabled = false },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"neovim/nvim-lspconfig",
|
|
opts = function(_, opts)
|
|
LazyVim.extend(opts.servers.vtsls, "settings.vtsls.tsserver.globalPlugins", {
|
|
{
|
|
name = "@vue/typescript-plugin",
|
|
location = LazyVim.get_pkg_path("vue-language-server", "/node_modules/@vue/language-server"),
|
|
languages = { "vue" },
|
|
configNamespace = "typescript",
|
|
enableForWorkspaceTypeScriptVersions = true,
|
|
},
|
|
})
|
|
end,
|
|
},
|
|
}
|