Collage.hs 580 B

123456789101112131415161718192021222324
  1. {-# LANGUAGE OverloadedStrings #-}
  2. module Collage
  3. ( main
  4. , Opt.getOpts
  5. ) where
  6. import qualified System.Exit as Sys
  7. import qualified Collage.Config as Conf
  8. import qualified Collage.Opts as Opt
  9. import qualified Collage.Commands.Splice as Cmd
  10. import qualified Collage.Commands.Test as Cmd
  11. main :: Opt.Options -> IO ()
  12. main opts = do
  13. configMb <- Conf.getConfig (Opt.optFile opts)
  14. config <- case configMb of
  15. Left err -> Sys.die err
  16. Right x -> return x
  17. case Opt.optCommand opts of
  18. Opt.Test -> Cmd.runTest config opts
  19. Opt.Splice -> Cmd.runSplice config opts