| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Options.Applicative.Complicated
Description
Simple interface to complicated program arguments.
This is a "fork" of the optparse-simple package that has some workarounds for
optparse-applicative issues that become problematic with programs that have many options and
subcommands. Because it makes the interface more complex, these workarounds are not suitable for
pushing upstream to optparse-applicative.
- addCommand :: String -> String -> String -> (a -> b) -> Parser c -> Parser a -> ExceptT b (Writer (Mod CommandFields (b, c))) ()
- addSubCommands :: Monoid c => String -> String -> String -> Parser c -> ExceptT b (Writer (Mod CommandFields (b, c))) () -> ExceptT b (Writer (Mod CommandFields (b, c))) ()
- complicatedOptions :: Monoid a => Version -> Maybe String -> String -> String -> String -> String -> Parser a -> Maybe (ParserFailure ParserHelp -> [String] -> IO (a, (b, a))) -> ExceptT b (Writer (Mod CommandFields (b, a))) () -> IO (a, b)
- complicatedParser :: Monoid a => String -> Parser a -> ExceptT b (Writer (Mod CommandFields (b, a))) () -> Parser (a, (b, a))
Documentation
Arguments
| :: String | command string |
| -> String | title of command |
| -> String | footer of command help |
| -> (a -> b) | constructor to wrap up command in common data type |
| -> Parser c | common parser |
| -> Parser a | command parser |
| -> ExceptT b (Writer (Mod CommandFields (b, c))) () |
Add a command to the options dispatcher.
Arguments
| :: Monoid c | |
| => String | command string |
| -> String | title of command |
| -> String | footer of command help |
| -> Parser c | common parser |
| -> ExceptT b (Writer (Mod CommandFields (b, c))) () | sub-commands (use |
| -> ExceptT b (Writer (Mod CommandFields (b, c))) () |
Add a command that takes sub-commands to the options dispatcher.
Arguments
| :: Monoid a | |
| => Version | numeric version |
| -> Maybe String | version string |
| -> String | hpack numeric version, as string |
| -> String | header |
| -> String | program description (displayed between usage and options listing in the help output) |
| -> String | footer |
| -> Parser a | common settings |
| -> Maybe (ParserFailure ParserHelp -> [String] -> IO (a, (b, a))) | optional handler for parser failure; |
| -> ExceptT b (Writer (Mod CommandFields (b, a))) () | commands (use |
| -> IO (a, b) |
Generate and execute a complicated options parser.
Arguments
| :: Monoid a | |
| => String | metavar for the sub-command |
| -> Parser a | common settings |
| -> ExceptT b (Writer (Mod CommandFields (b, a))) () | commands (use |
| -> Parser (a, (b, a)) |
Generate a complicated options parser.