diff options
| author | William Boman <william@redwill.se> | 2021-09-03 12:08:43 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-03 12:08:43 +0200 |
| commit | 6f838abc70fba10d2e77641d132a812dd83a3780 (patch) | |
| tree | 551bd718b5ff44a3b01f4c7b348f2867d3a7e4d7 /lua | |
| parent | Update Elixir LS version to 0.8.1 (#72) (diff) | |
| download | mason-6f838abc70fba10d2e77641d132a812dd83a3780.tar mason-6f838abc70fba10d2e77641d132a812dd83a3780.tar.gz mason-6f838abc70fba10d2e77641d132a812dd83a3780.tar.bz2 mason-6f838abc70fba10d2e77641d132a812dd83a3780.tar.lz mason-6f838abc70fba10d2e77641d132a812dd83a3780.tar.xz mason-6f838abc70fba10d2e77641d132a812dd83a3780.tar.zst mason-6f838abc70fba10d2e77641d132a812dd83a3780.zip | |
vscode-langservers-extracted: use correct root dir when producing cmd path (#75)
Resolves #74.
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim-lsp-installer/opts.lua | 20 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/servers/vscode-langservers-extracted/init.lua | 7 |
2 files changed, 25 insertions, 2 deletions
diff --git a/lua/nvim-lsp-installer/opts.lua b/lua/nvim-lsp-installer/opts.lua new file mode 100644 index 00000000..b207b55f --- /dev/null +++ b/lua/nvim-lsp-installer/opts.lua @@ -0,0 +1,20 @@ +local M = {} + +local function boolean_val(val) + if type(val) == "nil" then + return true + elseif type(val) == "number" then + return val == 1 + end + return val and true or false +end + +function M.allow_federated_servers() + return boolean_val(vim.g.lsp_installer_allow_federated_servers) +end + +function Test() + print(boolean_val(vim.g.lsp_installer_allow_federated_servers)) +end + +return M diff --git a/lua/nvim-lsp-installer/servers/vscode-langservers-extracted/init.lua b/lua/nvim-lsp-installer/servers/vscode-langservers-extracted/init.lua index 53ba4815..76dc1507 100644 --- a/lua/nvim-lsp-installer/servers/vscode-langservers-extracted/init.lua +++ b/lua/nvim-lsp-installer/servers/vscode-langservers-extracted/init.lua @@ -1,15 +1,18 @@ local server = require "nvim-lsp-installer.server" +local opts = require "nvim-lsp-installer.opts" local npm = require "nvim-lsp-installer.installers.npm" local root_dir = server.get_server_root_path "vscode-langservers-extracted" return function(name, executable) + local resolved_root_dir = opts.allow_federated_servers() and root_dir or ("%s_%s"):format(root_dir, name) + return server.Server:new { name = name, - root_dir = vim.g.lsp_installer_allow_federated_servers and root_dir or ("%s_%s"):format(root_dir, name), + root_dir = resolved_root_dir, installer = npm.packages { "vscode-langservers-extracted" }, default_options = { - cmd = { npm.executable(root_dir, executable), "--stdio" }, + cmd = { npm.executable(resolved_root_dir, executable), "--stdio" }, }, } end |
