dotfiles/.config/nvim/lua/plugins/extras/lang/web/vue-3-extended.lua

58 lines
1.6 KiB
Lua

local inlay_hints_settings = {
parameterNames = { enabled = "all" },
parameterTypes = { enabled = true },
variableTypes = { enabled = true },
propertyDeclarationTypes = { enabled = true },
functionLikeReturnTypes = { enabled = true },
enumMemberValues = { enabled = true },
}
return {
{ import = "lazyvim.plugins.extras.lang.vue" },
{ import = "plugins.extras.lang.web.typescript-extended" },
{
"neovim/nvim-lspconfig",
opts = {
servers = {
volar = {
settings = {
typescript = {
updateImportsOnFileMove = { enabled = "always" },
inlayHints = inlay_hints_settings,
},
javascript = {
updateImportsOnFileMove = { enabled = "always" },
inlayHints = inlay_hints_settings,
},
},
handlers = {
["textDocument/publishDiagnostics"] = function(err, result, ctx, config)
require("ts-error-translator").translate_diagnostics(err, result, ctx, config)
vim.lsp.diagnostic.on_publish_diagnostics(err, result, ctx, config)
end,
},
},
},
},
},
{
"dmmulroy/ts-error-translator.nvim",
opts = {},
},
{
"williamboman/mason.nvim",
opts = function(_, opts)
opts.ensure_installed = opts.ensure_installed or {}
vim.list_extend(opts.ensure_installed, { "vue-language-server" })
end,
},
{
"luckasRanarison/nvim-devdocs",
optional = true,
opts = {
ensure_installed = {
"vue-3",
},
},
},
}