Bricoleur.hs 656 B

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