cmt-0.2.0.0: src/Cmt.hs
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
module Cmt
( go
) where
import ClassyPrelude
import Cmt.IO.Config (load)
import Cmt.IO.Git (commit)
import Cmt.IO.Input (loop)
import Cmt.Output.Format (format)
import Cmt.Types.Config (Config, Output)
display :: Either Text (Config, [Output]) -> IO ()
display (Left err) = putStrLn err
display (Right (cfg, output)) = do
parts <- loop cfg
let txt = format cfg (output ++ parts)
commit txt >>= putStrLn
go :: IO ()
go = load >>= display