diff options
| author | William Boman <william@redwill.se> | 2021-11-25 06:55:18 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-25 06:55:18 +0100 |
| commit | b1e0f89f4c85a0767a76ff3e0db4c888b6ac3002 (patch) | |
| tree | 706375863687f9a64fd2fd1da5f4d5f86fbbe95d /lua | |
| parent | actions/auto-assign-issues: add column_name arg (diff) | |
| download | mason-b1e0f89f4c85a0767a76ff3e0db4c888b6ac3002.tar mason-b1e0f89f4c85a0767a76ff3e0db4c888b6ac3002.tar.gz mason-b1e0f89f4c85a0767a76ff3e0db4c888b6ac3002.tar.bz2 mason-b1e0f89f4c85a0767a76ff3e0db4c888b6ac3002.tar.lz mason-b1e0f89f4c85a0767a76ff3e0db4c888b6ac3002.tar.xz mason-b1e0f89f4c85a0767a76ff3e0db4c888b6ac3002.tar.zst mason-b1e0f89f4c85a0767a76ff3e0db4c888b6ac3002.zip | |
fix(windows): unset PSMODULEPATH before invoking powershell scripts (#278)
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim-lsp-installer/installers/context.lua | 1 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/installers/shell.lua | 4 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/process.lua | 10 |
3 files changed, 11 insertions, 4 deletions
diff --git a/lua/nvim-lsp-installer/installers/context.lua b/lua/nvim-lsp-installer/installers/context.lua index 97f200d5..bdb993a5 100644 --- a/lua/nvim-lsp-installer/installers/context.lua +++ b/lua/nvim-lsp-installer/installers/context.lua @@ -44,6 +44,7 @@ local function fetch(url, callback) process.lazy_spawn("powershell.exe", { args = { "-NoProfile", "-Command", table.concat(ps_script, ";") }, stdio_sink = stdio.sink, + env = process.graft_env({}, { "PSMODULEPATH" }), }) ) end diff --git a/lua/nvim-lsp-installer/installers/shell.lua b/lua/nvim-lsp-installer/installers/shell.lua index 33d603a9..34cfc524 100644 --- a/lua/nvim-lsp-installer/installers/shell.lua +++ b/lua/nvim-lsp-installer/installers/shell.lua @@ -11,7 +11,9 @@ local function shell(opts) args = opts.args, cwd = context.install_dir, stdio_sink = context.stdio_sink, - env = process.graft_env(opts.env or {}), + env = process.graft_env(opts.env or {}, { + "PSMODULEPATH", -- https://github.com/williamboman/nvim-lsp-installer/issues/271 + }), }, callback) if stdio then diff --git a/lua/nvim-lsp-installer/process.lua b/lua/nvim-lsp-installer/process.lua index 7fe3625c..9316fd38 100644 --- a/lua/nvim-lsp-installer/process.lua +++ b/lua/nvim-lsp-installer/process.lua @@ -47,15 +47,19 @@ end ---Merges the provided env param with the user's full environent. Provided env has precedence. ---@param env table<string, string> -function M.graft_env(env) +---@param excluded_var_names string[]|nil +function M.graft_env(env, excluded_var_names) + local excluded_var_names_set = excluded_var_names and Data.set_of(excluded_var_names) or {} local merged_env = {} for key, val in pairs(initial_environ) do - if env[key] == nil then + if not excluded_var_names_set[key] and env[key] == nil then merged_env[#merged_env + 1] = key .. "=" .. val end end for key, val in pairs(env) do - merged_env[#merged_env + 1] = key .. "=" .. val + if not excluded_var_names_set[key] then + merged_env[#merged_env + 1] = key .. "=" .. val + end end return merged_env end |
