diff options
Diffstat (limited to 'lua/nvim-lsp-installer/servers/angularls/init.lua')
| -rw-r--r-- | lua/nvim-lsp-installer/servers/angularls/init.lua | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/lua/nvim-lsp-installer/servers/angularls/init.lua b/lua/nvim-lsp-installer/servers/angularls/init.lua index b886cbd5..d32bb5af 100644 --- a/lua/nvim-lsp-installer/servers/angularls/init.lua +++ b/lua/nvim-lsp-installer/servers/angularls/init.lua @@ -1,16 +1,17 @@ local server = require "nvim-lsp-installer.server" local npm = require "nvim-lsp-installer.installers.npm" +local Data = require "nvim-lsp-installer.data" +local path = require "nvim-lsp-installer.path" -return function(name, root_dir) - local cmd = { - npm.executable(root_dir, "ngserver"), - "--stdio", - "--tsProbeLocations", - root_dir, - "--ngProbeLocations", - root_dir, - } +local map = Data.list_map +local function append_node_modules(dirs) + return map(function(dir) + return path.concat { dir, "node_modules" } + end, dirs) +end + +return function(name, root_dir) return server.Server:new { name = name, root_dir = root_dir, @@ -18,9 +19,15 @@ return function(name, root_dir) languages = { "angular" }, installer = npm.packages { "@angular/language-server", "typescript" }, default_options = { - cmd = cmd, - on_new_config = function(new_config) - new_config.cmd = cmd + on_new_config = function(new_config, new_root_dir) + new_config.cmd = { + npm.executable(root_dir, "ngserver"), + "--stdio", + "--tsProbeLocations", + table.concat(append_node_modules { root_dir, new_root_dir }, ","), + "--ngProbeLocations", + table.concat(append_node_modules { root_dir, new_root_dir }, ","), + } end, }, } |
