From afe108bda0fceb3ed4f56f8b708b4004c4557656 Mon Sep 17 00:00:00 2001 From: William Boman Date: Sun, 4 Jul 2021 19:37:29 +0200 Subject: add angularls (#27) --- lua/nvim-lsp-installer/servers/angularls/init.lua | 48 +++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 lua/nvim-lsp-installer/servers/angularls/init.lua (limited to 'lua/nvim-lsp-installer/servers/angularls/init.lua') diff --git a/lua/nvim-lsp-installer/servers/angularls/init.lua b/lua/nvim-lsp-installer/servers/angularls/init.lua new file mode 100644 index 00000000..bdc69452 --- /dev/null +++ b/lua/nvim-lsp-installer/servers/angularls/init.lua @@ -0,0 +1,48 @@ +local util = require("lspconfig/util") +local server = require("nvim-lsp-installer.server") +local path = require("nvim-lsp-installer.path") +local npm = require("nvim-lsp-installer.installers.npm") + +-- Angular requires a node_modules directory to probe for @angular/language-service and typescript +-- in order to use your projects configured versions. +-- This defaults to the vim cwd, but will get overwritten by the resolved root of the file. +local function get_probe_dir(root_dir) + local project_root = util.find_node_modules_ancestor(root_dir) + + return project_root and (project_root .. "/node_modules") or "" +end + +local default_probe_dir = get_probe_dir(vim.fn.getcwd()) + +local root_dir = server.get_server_root_path("css") + +local executable_path = path.concat { root_dir, "node_modules", ".bin", "ngserver" } + +return server.Server:new { + name = "angularls", + root_dir = root_dir, + installer = npm.packages { "@angular/language-server" }, + default_options = { + cmd = { + executable_path, + "--stdio", + "--tsProbeLocations", + default_probe_dir, + "--ngProbeLocations", + default_probe_dir, + }, + on_new_config = function(new_config, new_root_dir) + local new_probe_dir = get_probe_dir(new_root_dir) + + -- We need to check our probe directories because they may have changed. + new_config.cmd = { + executable_path, + "--stdio", + "--tsProbeLocations", + new_probe_dir, + "--ngProbeLocations", + new_probe_dir, + } + end, + }, +} -- cgit v1.2.3-70-g09d2