-- |A record containing values for all available options.
data Options = Options { opt_heartbeat :: Maybe Int,
opt_help :: Bool,
+ opt_ignore_retweets :: Bool,
+ opt_ignore_replies :: Bool,
opt_from :: Maybe String,
opt_to :: Maybe String }
default_options :: Options
default_options = Options { opt_heartbeat = Just 600,
opt_help = False,
+ opt_ignore_retweets = False,
+ opt_ignore_replies = False,
opt_from = Nothing,
opt_to = Nothing }
--
options :: [OptDescr (Options -> IO Options)]
options =
- [ Option ['h'][] (NoArg set_help) "Prints this help message.",
- Option ['n'][] (ReqArg set_heartbeat "heartbeat") "How many seconds to wait between polling.",
- Option ['t'][] (ReqArg set_to "email_address") "Send tweets TO email_address.",
- Option ['f'][] (ReqArg set_from "email_address") "Send tweets FROM email_address."
+ [ Option
+ ['h']["help"]
+ (NoArg set_help)
+ "Prints this help message.",
+
+ Option
+ ['n']["heartbeat"]
+ (ReqArg set_heartbeat "heartbeat")
+ "How many seconds to wait between polling.",
+
+ Option
+ ['t']["to"]
+ (ReqArg set_to "email_address")
+ "Send tweets TO email_address.",
+
+ Option
+ ['f']["from"]
+ (ReqArg set_from "email_address")
+ "Send tweets FROM email_address.",
+
+ Option
+ ['i']["ignore-retweets"]
+ (NoArg set_ignore_retweets)
+ "Ignore retweets.",
+
+ Option
+ ['I']["ignore-replies"]
+ (NoArg set_ignore_replies)
+ "Ignore retweets."
]
set_help opts = do
return opts { opt_help = True }
+set_ignore_retweets :: Options -> IO Options
+set_ignore_retweets opts =
+ return opts { opt_ignore_retweets = True }
+
+set_ignore_replies :: Options -> IO Options
+set_ignore_replies opts =
+ return opts { opt_ignore_replies = True }
+
set_to :: String -> Options -> IO Options
set_to arg opts = do
return opts { opt_to = Just arg }