aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/core/spawn.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-04-06 11:35:35 +0200
committerGitHub <noreply@github.com>2022-04-06 11:35:35 +0200
commit0795a757e8b78116f7e6d9e353bcb0443c7dbc52 (patch)
tree76f8d5d5eb55bb438db0de84a741b2d6b81fe073 /lua/nvim-lsp-installer/core/spawn.lua
parentfix(pip3): always use normalized "python" executable with venv-enhanced path ... (diff)
downloadmason-0795a757e8b78116f7e6d9e353bcb0443c7dbc52.tar
mason-0795a757e8b78116f7e6d9e353bcb0443c7dbc52.tar.gz
mason-0795a757e8b78116f7e6d9e353bcb0443c7dbc52.tar.bz2
mason-0795a757e8b78116f7e6d9e353bcb0443c7dbc52.tar.lz
mason-0795a757e8b78116f7e6d9e353bcb0443c7dbc52.tar.xz
mason-0795a757e8b78116f7e6d9e353bcb0443c7dbc52.tar.zst
mason-0795a757e8b78116f7e6d9e353bcb0443c7dbc52.zip
fix(r_language_server): run install script via stdin (#578)
Fixes #568.
Diffstat (limited to 'lua/nvim-lsp-installer/core/spawn.lua')
-rw-r--r--lua/nvim-lsp-installer/core/spawn.lua9
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 {