Safe Haskell | None |
---|---|
Language | Haskell98 |
This provides a compatiblity wrapper to the System.Console.GetOpt
module in base
.
That module is essentially a Haskell port of the GNU getopt
library.
Changes: The changes from GetOpt
are listed in the documentation for each function.
- convert :: String -> [OptDescr a] -> Mode ([a], [String])
- getOpt :: ArgOrder a -> [OptDescr a] -> [String] -> ([a], [String], [String])
- getOpt' :: ArgOrder a -> [OptDescr a] -> [String] -> ([a], [String], [String], [String])
- usageInfo :: String -> [OptDescr a] -> String
- data ArgOrder a = Permute
- data OptDescr a = Option [Char] [String] (ArgDescr a) String
- data ArgDescr a
Documentation
convert :: String -> [OptDescr a] -> Mode ([a], [String]) Source
Given a help text and a list of option descriptions, generate a Mode
.
getOpt :: ArgOrder a -> [OptDescr a] -> [String] -> ([a], [String], [String]) Source
Process the command-line, and return the list of values that matched (and those that didn't). The arguments are:
- The order requirements (see
ArgOrder
) - The option descriptions (see
OptDescr
) - The actual command line arguments (presumably got from
getArgs
).
getOpt
returns a triple consisting of the option arguments, a list
of non-options, and a list of error messages.
Changes: The list of errors will contain at most one entry, and if an error is present then the other two lists will be empty.
getOpt' :: ArgOrder a -> [OptDescr a] -> [String] -> ([a], [String], [String], [String]) Source
Changes: This is exactly the same as getOpt
, but the 3rd element of the
tuple (second last) will be an empty list.
usageInfo :: String -> [OptDescr a] -> String Source
Return a string describing the usage of a command, derived from the header (first argument) and the options described by the second argument.
What to do with options following non-options.
Changes: Only Permute
is allowed, both RequireOrder
and ReturnInOrder
have been removed.