aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/core/result.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-04-06 00:25:50 +0200
committerGitHub <noreply@github.com>2022-04-06 00:25:50 +0200
commit999476c324b26223aaf409a84497215e18d74499 (patch)
tree323cc5b072471e5e78ee94b273157779bbcb9611 /lua/nvim-lsp-installer/core/result.lua
parentfix(taplo): use crate distribution (#576) (diff)
downloadmason-999476c324b26223aaf409a84497215e18d74499.tar
mason-999476c324b26223aaf409a84497215e18d74499.tar.gz
mason-999476c324b26223aaf409a84497215e18d74499.tar.bz2
mason-999476c324b26223aaf409a84497215e18d74499.tar.lz
mason-999476c324b26223aaf409a84497215e18d74499.tar.xz
mason-999476c324b26223aaf409a84497215e18d74499.tar.zst
mason-999476c324b26223aaf409a84497215e18d74499.zip
switch majority of installers to async implementation (#574)
Diffstat (limited to 'lua/nvim-lsp-installer/core/result.lua')
-rw-r--r--lua/nvim-lsp-installer/core/result.lua16
1 files changed, 16 insertions, 0 deletions
diff --git a/lua/nvim-lsp-installer/core/result.lua b/lua/nvim-lsp-installer/core/result.lua
index f5c2d747..74fb9bc8 100644
--- a/lua/nvim-lsp-installer/core/result.lua
+++ b/lua/nvim-lsp-installer/core/result.lua
@@ -113,6 +113,22 @@ function Result:recover_catching(recover_fn)
end
end
+---@param fn fun(value: any): any
+function Result:on_failure(fn)
+ if self:is_failure() then
+ fn(self.value.error)
+ end
+ return self
+end
+
+---@param fn fun(value: any): any
+function Result:on_success(fn)
+ if self:is_success() then
+ fn(self.value)
+ end
+ return self
+end
+
---@param fn fun(): any
---@return Result
function Result.run_catching(fn)