@@ -1,7 +1,8 @@
2 ( Flags(..)
2 ( Flags(..)
@@ -14,6 +15,7 @@ import qualified Generate.Output as Output
14import qualified Reporting.Task as Task
15import qualified Reporting.Task as Task
15import qualified Reporting.Progress.Json as Json
16import qualified Reporting.Progress.Json as Json
16import qualified Reporting.Progress.Terminal as Terminal
17import qualified Reporting.Progress.Terminal as Terminal
18+import Terminal.Args (Parser(..))
@@ -28,10 +30,6 @@ data Flags =
35run :: [FilePath] -> Flags -> IO ()
33run :: [FilePath] -> Flags -> IO ()
36run paths (Flags debug output report) =
34run paths (Flags debug output report) =
@@ -53,3 +51,22 @@ run paths (Flags debug output report) =
53 void $ Task.run reporter $
51 void $ Task.run reporter $
54 do summary <- Project.getRoot
52 do summary <- Project.getRoot
55 Project.compile outputOptions summary paths
53 Project.compile outputOptions summary paths
64+reportType :: Parser ReportType
67+ { _singular = "report type"
68+ , _plural = "report types"
69+ , _parser = \string -> if string == "json" then Just Json else Nothing
70+ , _suggest = \_ -> return ["json"]
71+ , _examples = \_ -> return ["json"]