From 2ee87680556ccf26ef8d415950e7f31034d647c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sun, 20 Apr 2025 22:58:16 +0200 Subject: =?UTF-8?q?Verbose=20option=20for=20=E2=80=98jobid=E2=80=99=20comm?= =?UTF-8?q?and?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Output.hs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/Output.hs') diff --git a/src/Output.hs b/src/Output.hs index 54b434e..5838342 100644 --- a/src/Output.hs +++ b/src/Output.hs @@ -6,12 +6,14 @@ module Output ( withOutput, outputTerminal, + outputMessage, outputEvent, outputFootnote, ) where import Control.Monad import Control.Monad.Catch +import Control.Monad.IO.Class import Data.Text (Text) import Data.Text.IO qualified as T @@ -76,8 +78,11 @@ outStrLn Output {..} h text | otherwise = do T.hPutStrLn h text -outputEvent :: Output -> OutputEvent -> IO () -outputEvent out@Output {..} = \case +outputMessage :: MonadIO m => Output -> Text -> m () +outputMessage out msg = outputEvent out (OutputMessage msg) + +outputEvent :: MonadIO m => Output -> OutputEvent -> m () +outputEvent out@Output {..} = liftIO . \case OutputMessage msg -> do forM_ outTerminal $ \term -> void $ newLine term msg forM_ outLogs $ \h -> outStrLn out h msg -- cgit v1.2.3