Cleanup ghc-mod help output

This commit is contained in:
Daniel Gröber 2014-09-13 00:09:57 +02:00
parent 35a9da34a0
commit a0289420f9
1 changed files with 45 additions and 43 deletions

View File

@ -56,30 +56,34 @@ usage = progVersion
---------------------------------------------------------------- ----------------------------------------------------------------
argspec :: [OptDescr (Options -> Options)] argspec :: [OptDescr (Options -> Options)]
argspec = [ Option "l" ["tolisp"] argspec =
(NoArg (\opts -> opts { outputStyle = LispStyle })) let option s l udsc dsc = Option s l dsc udsc
"print as a list of Lisp" reqArg udsc dsc = ReqArg dsc udsc
, Option "h" ["hlintOpt"] in
(ReqArg (\h opts -> opts { hlintOpts = h : hlintOpts opts }) "hlintOpt") [ option "l" ["tolisp"] "print as a list of Lisp" $
"hlint options" NoArg $ \o -> o { outputStyle = LispStyle }
, Option "g" ["ghcOpt"]
(ReqArg (\g opts -> opts { ghcUserOptions = g : ghcUserOptions opts }) "ghcOpt") , option "h" ["hlintOpt"] "hlint options" $
"GHC options" reqArg "hlintOpt" $ \h o -> o { hlintOpts = h : hlintOpts o }
, Option "v" ["verbose"]
(NoArg (\opts -> opts { ghcUserOptions = "-v" : ghcUserOptions opts })) , option "g" ["ghcOpt"] "GHC options" $
"verbose" reqArg "ghcOpt" $ \g o ->
, Option "o" ["operators"] o { ghcUserOptions = g : ghcUserOptions o }
(NoArg (\opts -> opts { operators = True }))
"print operators, too" , option "v" ["verbose"] "verbose" $
, Option "d" ["detailed"] NoArg $ \o -> o { ghcUserOptions = "-v" : ghcUserOptions o }
(NoArg (\opts -> opts { detailed = True }))
"print detailed info" , option "o" ["operators"] "print operators, too" $
, Option "q" ["qualified"] NoArg $ \o -> o { operators = True }
(NoArg (\opts -> opts { qualified = True }))
"show qualified names" , option "d" ["detailed"] "print detailed info" $
, Option "b" ["boundary"] NoArg $ \o -> o { detailed = True }
(ReqArg (\s opts -> opts { lineSeparator = LineSeparator s }) "sep")
"specify line separator (default is Nul string)" , option "q" ["qualified"] "show qualified names" $
NoArg $ \o -> o { qualified = True }
, option "b" ["boundary"] "specify line separator (default is Nul string)"$
reqArg "sep" $ \s o -> o { lineSeparator = LineSeparator s }
] ]
parseArgs :: [OptDescr (Options -> Options)] -> [String] -> (Options, [String]) parseArgs :: [OptDescr (Options -> Options)] -> [String] -> (Options, [String])
@ -102,9 +106,7 @@ instance Exception GHCModError
main :: IO () main :: IO ()
main = flip E.catches handlers $ do main = flip E.catches handlers $ do
-- #if __GLASGOW_HASKELL__ >= 611
hSetEncoding stdout utf8 hSetEncoding stdout utf8
-- #endif
args <- getArgs args <- getArgs
let (opt,cmdArg) = parseArgs argspec args let (opt,cmdArg) = parseArgs argspec args
let cmdArg0 = cmdArg !. 0 let cmdArg0 = cmdArg !. 0