diff --git a/nvim/lua/plugins/lsp/ls/web.lua b/nvim/lua/plugins/lsp/ls/web.lua index 8c393bc..d7299b8 100644 --- a/nvim/lua/plugins/lsp/ls/web.lua +++ b/nvim/lua/plugins/lsp/ls/web.lua @@ -36,21 +36,22 @@ lsp.config("vue_ls", { }, }) +local vue_language_server_path = vim.fn.expand("$MASON/packages") + .. "/vue-language-server" + .. "/node_modules/@vue/language-server" +local vue_plugin = { + name = "@vue/typescript-plugin", + location = vue_language_server_path, + languages = { "vue" }, + configNamespace = "typescript", +} + -- ┌ ┐ -- │ TS, JS, TSX, JSX │ -- └ ┘ -lsp.config("ts_ls", { +lsp.config("vtsls", { capabilities = capabilities, on_attach = on_attach_no_formatting, - init_options = { - plugins = { - { - name = "@vue/typescript-plugin", - location = "/usr/lib/node_modules/@vue/typescript-plugin", - languages = { "javascript", "typescript", "vue" }, - }, - }, - }, filetypes = { "javascript", "typescript", @@ -58,13 +59,21 @@ lsp.config("ts_ls", { "javascriptreact", "vue", }, + settings = { + vtsls = { + tsserver = { + globalPlugins = { + vue_plugin, + }, + }, + }, + }, }) - -- ── Enable configs ─────────────────────────────────────────────── local enable = vim.lsp.enable enable("jsonls") enable("html") enable("cssls") enable("vue_ls") -enable("ts_ls") +enable("vtsls") diff --git a/nvim/lua/plugins/lsp/mason.lua b/nvim/lua/plugins/lsp/mason.lua index 88b40c7..a8139e9 100755 --- a/nvim/lua/plugins/lsp/mason.lua +++ b/nvim/lua/plugins/lsp/mason.lua @@ -40,9 +40,9 @@ return { "pyright", "rust_analyzer", "ruby_lsp", - -- "ts_ls", - "vue_ls", "verible", + "vtsls", + "vue_ls", }, -- auto-install configured servers (with lspconfig) automatic_enable = false