diff options
Diffstat (limited to 'lua/nvim-lsp-installer/core/spawn.lua')
| -rw-r--r-- | lua/nvim-lsp-installer/core/spawn.lua | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lua/nvim-lsp-installer/core/spawn.lua b/lua/nvim-lsp-installer/core/spawn.lua index 992b1557..4776ff66 100644 --- a/lua/nvim-lsp-installer/core/spawn.lua +++ b/lua/nvim-lsp-installer/core/spawn.lua @@ -3,8 +3,6 @@ local Result = require "nvim-lsp-installer.core.result" local process = require "nvim-lsp-installer.process" local platform = require "nvim-lsp-installer.platform" -local async_spawn = a.promisify(process.spawn) - ---@alias JobSpawn Record<string, async fun(opts: JobSpawnOpts): Result> ---@type JobSpawn local spawn = { @@ -58,7 +56,12 @@ setmetatable(spawn, { end local cmd = self._aliases[k] or k - local _, exit_code = async_spawn(cmd, spawn_args) + local _, exit_code = a.wait(function(resolve) + local handle, stdio = process.spawn(cmd, spawn_args, resolve) + if args.on_spawn and handle and stdio then + args.on_spawn(handle, stdio) + end + end) if exit_code == 0 then return Result.success { |
