From 97cb753d21e58a04dd457a2dc240b8e69acba5db Mon Sep 17 00:00:00 2001 From: Vidar Holen Date: Sat, 5 Jan 2019 11:36:42 -0800 Subject: [PATCH] Recognize --help (fixes #1441) --- shellcheck.hs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/shellcheck.hs b/shellcheck.hs index 6b9047c..84dee0a 100644 --- a/shellcheck.hs +++ b/shellcheck.hs @@ -102,10 +102,13 @@ options = [ (NoArg $ Flag "version" "true") "Print version information", Option "W" ["wiki-link-count"] (ReqArg (Flag "wiki-link-count") "NUM") - "The number of wiki links to show, when applicable.", + "The number of wiki links to show, when applicable", Option "x" ["external-sources"] - (NoArg $ Flag "externals" "true") "Allow 'source' outside of FILES" + (NoArg $ Flag "externals" "true") "Allow 'source' outside of FILES", + Option "" ["help"] + (NoArg $ Flag "help" "true") "Show this usage summary and exit" ] +getUsageInfo = usageInfo usageHeader options printErr = lift . hPutStrLn stderr @@ -114,7 +117,7 @@ parseArguments argv = case getOpt Permute options argv of (opts, files, []) -> return (opts, files) (_, _, errors) -> do - printErr $ concat errors ++ "\n" ++ usageInfo usageHeader options + printErr $ concat errors ++ "\n" ++ getUsageInfo throwError SyntaxFailure formats :: FormatterOptions -> Map.Map String (IO Formatter) @@ -271,6 +274,10 @@ parseOption flag options = liftIO printVersion throwError NoProblems + Flag "help" _ -> do + liftIO $ putStrLn getUsageInfo + throwError NoProblems + Flag "externals" _ -> return options { externalSources = True