aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/nvim-lsp-installer/opts.lua20
-rw-r--r--lua/nvim-lsp-installer/servers/vscode-langservers-extracted/init.lua7
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