From 49f03bd7e16ba1c89ab5a64e8fdea8e5dfe593f5 Mon Sep 17 00:00:00 2001 From: Mathias Schneider Date: Thu, 20 Aug 2026 08:10:49 +0200 Subject: [PATCH] fix vue lint --- term/.config/nvim/init.lua | 3 ++ term/.config/nvim/lua/plugins/lsp-config.lua | 35 ++++++++++++++------ 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/term/.config/nvim/init.lua b/term/.config/nvim/init.lua index 25ed79c..d810981 100644 --- a/term/.config/nvim/init.lua +++ b/term/.config/nvim/init.lua @@ -64,6 +64,9 @@ vim.diagnostic.config({ float = { border = "rounded" }, }) +-- Vue: semantic-token highlight for custom components +vim.api.nvim_set_hl(0, "@lsp.type.component", { link = "@type" }) + -- ============================================================================ -- STEP 5: GLOBAL KEYMAPS -- ============================================================================ diff --git a/term/.config/nvim/lua/plugins/lsp-config.lua b/term/.config/nvim/lua/plugins/lsp-config.lua index d176620..43cf985 100644 --- a/term/.config/nvim/lua/plugins/lsp-config.lua +++ b/term/.config/nvim/lua/plugins/lsp-config.lua @@ -42,7 +42,7 @@ return { ensure_installed = { "pyright", -- Python "ts_ls", -- TypeScript/JavaScript - "vuels", -- Vue (Volar) + "vue_ls", -- Vue (Volar) "jsonls", -- JSON "yamlls", -- YAML "html", -- HTML @@ -95,6 +95,25 @@ return { -- Type- and JavaScript vim.lsp.config("ts_ls", { + filetypes = { + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "vue", + }, + init_options = { + hostInfo = "neovim", + plugins = { + { + name = "@vue/typescript-plugin", + location = vim.fn.stdpath("data") + .. "/mason/packages/vue-language-server/node_modules/@vue/language-server", + languages = { "vue" }, + configNamespace = "typescript", + }, + }, + }, settings = { typescript = { inlayHints = { @@ -121,15 +140,9 @@ return { }, }) - -- Vue - vim.lsp.config("vuels", { - filetypes = { "vue" }, - init_options = { - typescript = { - tsdk = vim.fn.getcwd() .. "/node_modules/typescript/lib", - }, - }, - }) + -- Vue (Volar): bundled config in nvim-lspconfig provides cmd, + -- filetypes and tsserver/request forwarding to ts_ls (hybrid mode) + vim.lsp.config("vue_ls", {}) -- Other languages vim.lsp.config("jsonls", {}) @@ -142,7 +155,7 @@ return { vim.lsp.enable("lua_ls") vim.lsp.enable("pyright") vim.lsp.enable("ts_ls") - vim.lsp.enable("vuels") + vim.lsp.enable("vue_ls") vim.lsp.enable("jsonls") vim.lsp.enable("yamlls") vim.lsp.enable("html")