diff options
author | Roman Smrž <roman.smrz@seznam.cz> | 2025-04-11 20:25:15 +0200 |
---|---|---|
committer | Roman Smrž <roman.smrz@seznam.cz> | 2025-04-11 20:25:15 +0200 |
commit | d6c4daa2fb0b7f8dd0afb3ef50b2b85106bfd2ac (patch) | |
tree | a204b588dcd58f5da0f851024f80ed9179b7d6bd /src/Command.hs | |
parent | 75f57ad0287c8aa1a217ec90cbc8533cc3b8d799 (diff) |
Evaluate job and jobset in the Eval monad
Diffstat (limited to 'src/Command.hs')
-rw-r--r-- | src/Command.hs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Command.hs b/src/Command.hs index 6fb7e90..6322818 100644 --- a/src/Command.hs +++ b/src/Command.hs @@ -11,7 +11,7 @@ module Command ( getCommonOptions, getRootPath, getJobRoot, getRepo, getDefaultRepo, tryGetDefaultRepo, - getEvalInput, + getEvalInput, cmdEvalWith, getTerminalOutput, getStorageDir, ) where @@ -139,6 +139,10 @@ getEvalInput = CommandExec $ do eiOtherRepos <- asks ciOtherRepos return EvalInput {..} +cmdEvalWith :: (EvalInput -> EvalInput) -> Eval a -> CommandExec a +cmdEvalWith f ev = do + either (tfail . textEvalError) return =<< liftIO .runEval ev . f =<< getEvalInput + getTerminalOutput :: CommandExec TerminalOutput getTerminalOutput = CommandExec (asks ciTerminalOutput) |