@@ -22,44 +22,55 @@ data Config = Config
2222 }
2323
2424
25+
2526-- PARSE ARGUMENTS
2627
27- parse :: IO Config
28- parse =
29- Opt. customExecParser preferences parser
28+
29+ parse :: ElmVersion -> IO Config
30+ parse defaultVersion =
31+ Opt. customExecParser preferences (parser defaultVersion)
32+
3033
3134preferences :: Opt. ParserPrefs
3235preferences =
3336 Opt. prefs (mempty <> Opt. showHelpOnError)
3437
35- parser :: Opt. ParserInfo Config
36- parser =
37- Opt. info (Opt. helper <*> flags) helpInfo
3838
39- showHelpText :: IO ()
40- showHelpText = Opt. handleParseResult . Opt. Failure $
41- Opt. parserFailure preferences parser Opt. ShowHelpText mempty
39+ parser :: ElmVersion -> Opt. ParserInfo Config
40+ parser defaultVersion =
41+ Opt. info
42+ (Opt. helper <*> flags defaultVersion)
43+ (helpInfo defaultVersion)
44+
45+
46+ showHelpText :: ElmVersion -> IO ()
47+ showHelpText defaultVersion = Opt. handleParseResult . Opt. Failure $
48+ Opt. parserFailure
49+ preferences
50+ (parser defaultVersion)
51+ Opt. ShowHelpText
52+ mempty
4253
4354
4455
4556-- COMMANDS
4657
47- flags :: Opt. Parser Config
48- flags =
58+ flags :: ElmVersion -> Opt. Parser Config
59+ flags defaultVersion =
4960 Config
5061 <$> Opt. many input
5162 <*> output
5263 <*> yes
5364 <*> validate
5465 <*> stdin
55- <*> elmVersion
66+ <*> elmVersion defaultVersion
5667
5768
5869
5970-- HELP
6071
61- helpInfo :: Opt. InfoMod Config
62- helpInfo =
72+ helpInfo :: ElmVersion -> Opt. InfoMod Config
73+ helpInfo defaultVersion =
6374 mconcat
6475 [ Opt. fullDesc
6576 , Opt. header top
@@ -68,7 +79,10 @@ helpInfo =
6879 ]
6980 where
7081 top =
71- " elm-format " ++ showVersion This. version ++ " \n "
82+ concat
83+ [ " elm-format-" ++ show defaultVersion ++ " "
84+ , showVersion This. version ++ " \n "
85+ ]
7286
7387 examples =
7488 linesToDoc
@@ -131,13 +145,20 @@ stdin =
131145 ]
132146
133147
134- elmVersion :: Opt. Parser ElmVersion
135- elmVersion =
136- fmap (Maybe. fromMaybe Elm_0_17 )$
148+ elmVersion :: ElmVersion -> Opt. Parser ElmVersion
149+ elmVersion defaultVersion =
150+ fmap (Maybe. fromMaybe defaultVersion )$
137151 Opt. optional $
138152 Opt. option (Opt. eitherReader ElmVersion. parse) $
139153 mconcat
140154 [ Opt. long " elm-version"
141155 , Opt. metavar " VERSION"
142- , Opt. help " The Elm version of the source files being formatted. Valid values: 0.16, 0.17. Default: 0.17"
156+ , Opt. help $
157+ concat
158+ [ " The Elm version of the source files being formatted. "
159+ , " Valid values: "
160+ , show ElmVersion. Elm_0_16 ++ " , "
161+ , show ElmVersion. Elm_0_17 ++ " . "
162+ , " Default: " ++ show defaultVersion
163+ ]
143164 ]
0 commit comments