normalize_help :: String
normalize_help =
- "(reduced mode) normalize the output CIDRS, replacing any " ++
+ "(reduced mode) normalize the output CIDRs, replacing any " ++
"masked bits by zeros; e.g. '127.0.0.1/8' -> '127.0.0.0/8'"
+sort_help :: String
+sort_help =
+ "(reduced mode) sort the output CIDRs by their octets"
+
+
-- | The Args type represents the possible command-line options. The
-- duplication here seems necessary; CmdArgs' magic requires us to
-- define some things explicitly.
-- same options and arguments.
--
data Args =
- Regexed { barriers :: Bool, normalize :: Bool } |
- Reduced { barriers :: Bool, normalize :: Bool } |
- Duped { barriers :: Bool, normalize :: Bool } |
- Diffed { barriers :: Bool, normalize :: Bool } |
- Listed { barriers :: Bool, normalize :: Bool }
+ Regexed { barriers :: Bool, normalize :: Bool, sort :: Bool } |
+ Reduced { barriers :: Bool, normalize :: Bool, sort :: Bool } |
+ Duped { barriers :: Bool, normalize :: Bool, sort :: Bool } |
+ Diffed { barriers :: Bool, normalize :: Bool, sort :: Bool } |
+ Listed { barriers :: Bool, normalize :: Bool, sort :: Bool }
deriving (Data, Show)
-- | Description of the 'Regexed' mode.
name "v",
groupname "Common flags"]
where
- make_mode :: (Bool -> Bool -> Args) -> String -> (Annotate Ann)
+ make_mode :: (Bool -> Bool -> Bool -> Args) -> String -> (Annotate Ann)
make_mode ctor desc =
- record (ctor def def)
+ record (ctor def def def)
[ barriers := def
+= groupname "Common flags"
+= help barriers_help,
normalize := def
+= groupname "Common flags"
- += help normalize_help ]
+ += help normalize_help,
+ sort := def
+ += groupname "Common flags"
+ += help sort_help ]
+= details [" " ++ desc]
regexed = make_mode Regexed regexed_description