--
data OptionalConfiguration =
OptionalConfiguration {
- both :: Maybe Bool,
database :: Maybe String,
detail :: Maybe Bool,
+ detail_query :: Maybe String,
host :: Maybe String,
password :: Maybe String,
port :: Maybe Int,
+ summary_query :: Maybe String,
username :: Maybe String }
deriving (Show, Data, Typeable)
Nothing
Nothing
Nothing
+ Nothing
-- | Combine @cfg1@ and @cfg2@, giving precedence to @cfg2@.
cfg1 `mappend` cfg2 =
OptionalConfiguration
- (merge_maybes (both cfg1) (both cfg2))
(merge_maybes (database cfg1) (database cfg2))
(merge_maybes (detail cfg1) (detail cfg2))
+ (merge_maybes (detail_query cfg1) (detail_query cfg2))
(merge_maybes (host cfg1) (host cfg2))
(merge_maybes (password cfg1) (password cfg2))
(merge_maybes (port cfg1) (port cfg2))
+ (merge_maybes (summary_query cfg1) (summary_query cfg2))
(merge_maybes (username cfg1) (username cfg2))
let user_config_path = home </> ".mailbox-countrc"
cfg <- DC.load [ DC.Optional global_config_path,
DC.Optional user_config_path ]
- cfg_both <- DC.lookup cfg "both"
cfg_database <- DC.lookup cfg "database"
cfg_detail <- DC.lookup cfg "detail"
+ cfg_detail_query <- DC.lookup cfg "detail_query"
cfg_host <- DC.lookup cfg "host"
cfg_password <- DC.lookup cfg "password"
cfg_port <- DC.lookup cfg "port"
+ cfg_summary_query <- DC.lookup cfg "summary_query"
cfg_username <- DC.lookup cfg "username"
return $ OptionalConfiguration
- cfg_both
cfg_database
cfg_detail
+ cfg_detail_query
cfg_host
cfg_password
cfg_port
+ cfg_summary_query
cfg_username