diff options
author | Ben Sima <ben@bsima.me> | 2021-01-15 19:12:19 -0500 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2021-01-15 20:03:07 -0500 |
commit | 7bb2775667386659402ebb7559c7bc4af46ec268 (patch) | |
tree | 0e41af56809c1c7aec5a399f32cd3dadd7129ef3 /Biz/Bild.hs | |
parent | 25c02fbf517888238097cf82879eef3cd3828626 (diff) |
Implement Biz.Cli
Wraps docopt rather nicely. It's much nicer than optparse-applicative and runs
tests with the --test argument automatically. Next I just need to implement a
test framework.
Diffstat (limited to 'Biz/Bild.hs')
-rw-r--r-- | Biz/Bild.hs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Biz/Bild.hs b/Biz/Bild.hs index 96f63ad..60ad97a 100644 --- a/Biz/Bild.hs +++ b/Biz/Bild.hs @@ -116,6 +116,7 @@ module Biz.Bild where import Alpha hiding (sym, (<.>)) +import qualified Biz.Cli as Cli import Biz.Namespace (Namespace (..)) import qualified Biz.Namespace as Namespace import qualified Data.Char as Char @@ -125,15 +126,17 @@ import qualified Data.Text as Text import qualified System.Console.Docopt as Docopt import qualified System.Directory as Dir import qualified System.Environment as Env +import qualified System.Exit as Exit import System.FilePath ((</>)) import qualified System.Process as Process import qualified Text.Regex.Applicative as Regex import qualified Prelude main :: IO () -main = Env.getArgs >>= Docopt.parseArgsOrExit help >>= run +main = Cli.main <| Cli.Plan help move test where - run args = + test _ = Exit.exitSuccess + move args = mapM getNamespace (Docopt.getAllArgs args (Docopt.argument "target")) /> catMaybes /> filter isBuildableNs |