From 8db45e189322fd8c29af9c4c85a25ba6f9797f49 Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Wed, 18 Jun 2025 08:02:54 -0500 Subject: [PATCH] - fixed weird double lsp issue - added better handling of potentially null angular version --- lsp/angular-language-server.lua | 34 +++++++++++++++++++++++---------- lua/plugins/config.lua | 5 ++++- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/lsp/angular-language-server.lua b/lsp/angular-language-server.lua index 5a565d5..eb88eed 100644 --- a/lsp/angular-language-server.lua +++ b/lsp/angular-language-server.lua @@ -41,17 +41,31 @@ local function get_angular_core_version() return angular_core_version end +local cmd = { + "ngserver", + "--stdio", + "--tsProbeLocations", + ts_probe_dirs, + "--ngProbeLocations", + ng_probe_dirs, +} + +local angular_version = get_angular_core_version() +if string.len(angular_version) > 0 then + table.insert(cmd, "--angularCoreVersion") + table.insert(cmd, angular_version) +end + +--vim.lsp.log.error("==================================================") +--vim.lsp.log.error("ngserver_path", ngserver_path) +--vim.lsp.log.error("extension_path", extension_path) +--vim.lsp.log.error("ts_probe_dirs", ts_probe_dirs) +--vim.lsp.log.error("ng_probe_dirs", ng_probe_dirs) +--vim.lsp.log.error("cmd", vim.iter(cmd):join(" ")) +--vim.lsp.log.error("==================================================") + return { - cmd = { - "ngserver", - "--stdio", - "--tsProbeLocations", - ts_probe_dirs, - "--ngProbeLocations", - ng_probe_dirs, - "--angularCoreVersion", - get_angular_core_version(), - }, + cmd = cmd, filetypes = { "typescript", "html", "typescriptreact", "typescript.tsx", "htmlangular" }, root_markers = { "angular.json", "nx.json" }, } diff --git a/lua/plugins/config.lua b/lua/plugins/config.lua index d0f6abc..7f69177 100644 --- a/lua/plugins/config.lua +++ b/lua/plugins/config.lua @@ -310,7 +310,6 @@ function M.nvim_treesitter() end if vim.fn.filereadable(dst) == 1 then - print("htmldjango.so is already installed") return end @@ -514,6 +513,10 @@ function M.lsp_zero() -- https://github.com/VonHeikemen/lsp-zero.nvim -- + -- running this before starting up mason + -- somehow prevents duplicate language servers + require("mason-lspconfig").setup() + local lsp = require("lsp-zero") lsp.preset("recommended")