aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-core/spawn.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2026-06-02 06:46:12 +0200
committerWilliam Boman <william@redwill.se>2026-06-02 06:46:12 +0200
commitf15dc7d81139c8282cecb59b61bbbe6d6dbb5c2a (patch)
tree7cadbb146d6937c60054e701a3be9ad25de272c1 /lua/mason-core/spawn.lua
parentMerge remote-tracking branch 'origin/main' into feat/lockfile-v2 (diff)
downloadmason-f15dc7d81139c8282cecb59b61bbbe6d6dbb5c2a.tar
mason-f15dc7d81139c8282cecb59b61bbbe6d6dbb5c2a.tar.gz
mason-f15dc7d81139c8282cecb59b61bbbe6d6dbb5c2a.tar.bz2
mason-f15dc7d81139c8282cecb59b61bbbe6d6dbb5c2a.tar.lz
mason-f15dc7d81139c8282cecb59b61bbbe6d6dbb5c2a.tar.xz
mason-f15dc7d81139c8282cecb59b61bbbe6d6dbb5c2a.tar.zst
mason-f15dc7d81139c8282cecb59b61bbbe6d6dbb5c2a.zip
[WIP]:
Diffstat (limited to 'lua/mason-core/spawn.lua')
-rw-r--r--lua/mason-core/spawn.lua7
1 files changed, 6 insertions, 1 deletions
diff --git a/lua/mason-core/spawn.lua b/lua/mason-core/spawn.lua
index 78be4fd7..b4fbe0eb 100644
--- a/lua/mason-core/spawn.lua
+++ b/lua/mason-core/spawn.lua
@@ -8,7 +8,7 @@ local settings = require "mason.settings"
local is_not_nil = _.complement(_.equals(vim.NIL))
----@alias JobSpawn table<string, async fun(opts: SpawnArgs): Result>
+---@alias JobSpawn table<string, async fun(opts: SpawnArgs): Result<SpawnSuccess, SpawnError>>
---@type JobSpawn
local spawn = {
_flatten_cmd_args = _.compose(_.filter(is_not_nil), _.flatten),
@@ -42,6 +42,11 @@ local function exepath(cmd, path)
end
end
+---@alias SpawnSuccess { stdout: string, stderr: string }
+---@alias SpawnError { exit_code?: integer, signal?: integer, stdout?: string, stderr?: string }
+
+---@param err SpawnError
+---@param cmd string
local function Failure(err, cmd)
return Result.failure(setmetatable(err, {
__tostring = function()