@@ -1,7 +1,8 @@
11module Make
22 ( Flags(..)
3− , ReportType(..)
43 , run
4+ , ReportType(..)
5+ , reportType
56 )
67 where
78
@@ -14,6 +15,7 @@ import qualified Generate.Output as Output
1415import qualified Reporting.Task as Task
1516import qualified Reporting.Progress.Json as Json
1617import qualified Reporting.Progress.Terminal as Terminal
18+import Terminal.Args (Parser(..))
1719
1820
1921
@@ -28,10 +30,6 @@ data Flags =
2830 }
2931
3032
31−data ReportType
32− = Json
33−
34−
3533run :: [FilePath] -> Flags -> IO ()
3634run paths (Flags debug output report) =
3735 let
@@ -53,3 +51,22 @@ run paths (Flags debug output report) =
5351 void $ Task.run reporter $
5452 do summary <- Project.getRoot
5553 Project.compile outputOptions summary paths
54+
55+
56+
57+-- REPORT
58+
59+
60+data ReportType
61+ = Json
62+
63+
64+reportType :: Parser ReportType
65+reportType =
66+ Parser
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"]
72+ }