- cmdArgsMode $
- OptionalCfg {
- consumer_key =
- def &= typ "KEY"
- &= groupname "Twitter API"
- &= help consumer_key_help,
-
- consumer_secret =
- def &= typ "SECRET"
- &= groupname "Twitter API"
- &= help consumer_secret_help,
-
- access_token =
- def &= typ "TOKEN"
- &= groupname "Twitter API"
- &= help access_token_help,
-
- access_secret =
- def &= typ "SECRET"
- &= groupname "Twitter API"
- &= help access_secret_help,
-
- heartbeat =
- def &= groupname "Miscellaneous"
- &= help heartbeat_help,
-
- ignore_replies =
- def &= groupname "Miscellaneous"
- &= help ignore_replies_help,
-
- ignore_retweets =
- def &= groupname "Miscellaneous"
- &= help ignore_retweets_help,
-
- verbose =
- def &= groupname "Miscellaneous"
- &= help verbose_help,
-
- sendmail_path =
- def &= typ "PATH"
- &= groupname "Mail Options"
- &= help sendmail_path_help,
-
- from_address =
- def &= typ "ADDRESS"
- &= groupname "Mail Options"
- &= help from_address_help,
-
- to_address =
- def &= typ "ADDRESS"
- &= groupname "Mail Options"
- &= help to_address_help,
-
- usernames =
- def &= args
- &= typ "USERNAMES" }
-
- &= program program_name
- &= summary my_summary
- &= details [description]
- &= helpArg [groupname "Common flags"]
- &= versionArg [groupname "Common flags"]
-
-show_help :: IO (CmdArgs OptionalCfg)
-show_help = withArgs ["--help"] parse_args
-
-
-
-parse_args :: IO (CmdArgs OptionalCfg)
-parse_args = do
- x <- getArgs
- let y = process arg_spec x
- case y of
- Right result -> return result
- Left err -> do
- hPutStrLn stderr err
- exitWith (ExitFailure exit_args_parse_failed)
-
-
--- | Really get the command-line arguments. This calls 'parse_args'
--- first to replace the default "wrong number of arguments" error,
--- and then runs 'cmdArgsApply' on the result to do what the
--- 'cmdArgs' function usually does.
-apply_args :: IO OptionalCfg
-apply_args =
- parse_args >>= cmdArgsApply
+ OptionalCfg {
+ consumer_key =
+ def &= typ "KEY"
+ &= groupname "Twitter API"
+ &= help consumer_key_help,
+
+ consumer_secret =
+ def &= typ "SECRET"
+ &= groupname "Twitter API"
+ &= help consumer_secret_help,
+
+ access_token =
+ def &= typ "TOKEN"
+ &= groupname "Twitter API"
+ &= help access_token_help,
+
+ access_secret =
+ def &= typ "SECRET"
+ &= groupname "Twitter API"
+ &= help access_secret_help,
+
+ heartbeat =
+ def &= groupname "Miscellaneous"
+ &= help heartbeat_help,
+
+ ignore_replies =
+ def &= groupname "Miscellaneous"
+ &= help ignore_replies_help,
+
+ ignore_retweets =
+ def &= groupname "Miscellaneous"
+ &= help ignore_retweets_help,
+
+ verbose =
+ def &= groupname "Miscellaneous"
+ &= help verbose_help,
+
+ sendmail_path =
+ def &= typ "PATH"
+ &= groupname "Mail Options"
+ &= help sendmail_path_help,
+
+ from_address =
+ def &= typ "ADDRESS"
+ &= groupname "Mail Options"
+ &= help from_address_help,
+
+ to_address =
+ def &= typ "ADDRESS"
+ &= groupname "Mail Options"
+ &= help to_address_help,
+
+ usernames =
+ def &= args
+ &= typ "USERNAMES" }
+
+ &= program program_name
+ &= summary my_summary
+ &= details [description]
+ &= helpArg [groupname "Common flags"]
+ &= versionArg [groupname "Common flags"]
+
+show_help :: IO OptionalCfg
+show_help = withArgs ["--help"] get_args
+
+
+get_args :: IO OptionalCfg
+get_args = cmdArgs arg_spec