diff options
| author | William Boman <william@redwill.se> | 2022-04-21 12:09:59 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-21 12:09:59 +0200 |
| commit | b68fcc6bb2c770495ff8e2508c06dfdd49abcc80 (patch) | |
| tree | df7c71efb59958deb21a18eeccf3e3c43c4cd704 /lua/nvim-lsp-installer/core/spawn.lua | |
| parent | run autogen_metadata.lua (diff) | |
| download | mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar.gz mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar.bz2 mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar.lz mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar.xz mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.tar.zst mason-b68fcc6bb2c770495ff8e2508c06dfdd49abcc80.zip | |
chore: refactor remaining installers to async impl (#616)
Diffstat (limited to 'lua/nvim-lsp-installer/core/spawn.lua')
| -rw-r--r-- | lua/nvim-lsp-installer/core/spawn.lua | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/lua/nvim-lsp-installer/core/spawn.lua b/lua/nvim-lsp-installer/core/spawn.lua index 355df029..8b849f64 100644 --- a/lua/nvim-lsp-installer/core/spawn.lua +++ b/lua/nvim-lsp-installer/core/spawn.lua @@ -10,15 +10,8 @@ local spawn = { npm = platform.is_win and "npm.cmd" or "npm", gem = platform.is_win and "gem.cmd" or "gem", composer = platform.is_win and "composer.bat" or "composer", + gradlew = platform.is_win and "gradlew.bat" or "gradlew", }, - -- Utility function for optionally including arguments. - ---@generic T - ---@param condition boolean - ---@param value T - ---@return T - _when = function(condition, value) - return condition and value or vim.NIL - end, } local function Failure(err, cmd) @@ -50,11 +43,20 @@ setmetatable(spawn, { return function(args) local cmd_args = {} parse_args(args, cmd_args) + + ---@type table<string, string> + local env = args.env + + if args.with_paths then + env = env or {} + env.PATH = process.extend_path(args.with_paths) + end + ---@type JobSpawnOpts local spawn_args = { stdio_sink = args.stdio_sink, cwd = args.cwd, - env = args.env, + env = env and process.graft_env(env) or args.env_raw, args = cmd_args, } |
