summaryrefslogtreecommitdiff
path: root/src/Output.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Output.hs')
-rw-r--r--src/Output.hs9
1 files changed, 7 insertions, 2 deletions
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