diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua new file mode 100644 index 0000000..4b113bc --- /dev/null +++ b/lua/plugins/lsp.lua @@ -0,0 +1,54 @@ +return { + { + "nvim-treesitter/nvim-treesitter", + opts = { ensure_installed = { "vue", "css" } }, + }, + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "bash-language-server", + "css-lsp", + "html-lsp", + "typescript-language-server", + "vue-language-server", + "gopls", + "vtsls", + "helm-ls", + "json-lsp", + "marksman", + }, + }, + }, + { + "neovim/nvim-lspconfig", + opts = { + servers = { + volar = { + init_options = { + vue = { + hybridMode = true, + }, + }, + }, + vtsls = { + filetypes = { "vue" } + }, + }, + }, + }, + { + "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, + } +}