aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-core/result.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/mason-core/result.lua')
-rw-r--r--lua/mason-core/result.lua9
1 files changed, 9 insertions, 0 deletions
diff --git a/lua/mason-core/result.lua b/lua/mason-core/result.lua
index c598b967..2521fff1 100644
--- a/lua/mason-core/result.lua
+++ b/lua/mason-core/result.lua
@@ -176,4 +176,13 @@ function Result.run_catching(fn)
end
end
+function Result.pcall(fn, ...)
+ local ok, res = pcall(fn, ...)
+ if ok then
+ return Result.success(res)
+ else
+ return Result.failure(res)
+ end
+end
+
return Result