Make show_help work.
authorMichael Orlitzky <michael@orlitzky.com>
Tue, 21 Aug 2012 17:02:59 +0000 (13:02 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Tue, 21 Aug 2012 17:02:59 +0000 (13:02 -0400)
src/CommandLine.hs

index 2df29a57dfd9a10635d46c75af20ccd47f66ae72..0a3117073c220552ff2eaf186e0f74945363ff33 100644 (file)
@@ -80,8 +80,8 @@ is_missing_arg_error s =
   startswith "Requires at least" s
 
 
-show_help :: IO (CmdArgs Args)
-show_help = withArgs ["--help"] parse_args
+show_help :: IO Args
+show_help = withArgs ["--help"] apply_args
 
 parse_args :: IO (CmdArgs Args)
 parse_args = do
@@ -91,8 +91,9 @@ parse_args = do
       Right result -> return result
       Left err ->
         if (is_missing_arg_error err) then
-          -- Disregard the error message, show help instead.
-          show_help
+          -- Disregard the error message, show help instead. We can't
+          -- reuse show_help here because of its return type.
+          withArgs ["--help"] parse_args
         else do
           hPutStrLn stderr err
           exitWith (ExitFailure exit_args_parse_failed)