Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
This library provides a thin layer on optparse-applicative
argument and option parsing, using Parser (IO ())
,
applying commands directly to their argument parsing.
A few option Mod functions are also provided.
Synopsis
- simpleCmdArgs :: Maybe Version -> String -> String -> Parser (IO ()) -> IO ()
- simpleCmdArgs' :: Maybe Version -> String -> String -> Parser (IO ()) -> IO ()
- simpleCmdArgsWithMods :: Maybe Version -> InfoMod (IO ()) -> Parser (IO ()) -> IO ()
- data Subcommand = Subcommand String String (Parser (IO ()))
- subcommands :: [Subcommand] -> Parser (IO ())
- strArg :: String -> Parser String
- switchWith :: Char -> String -> String -> Parser Bool
- switchMods :: HasName f => Char -> String -> String -> Mod f a
- strOptionWith :: Char -> String -> String -> String -> Parser String
- optionWith :: ReadM a -> Char -> String -> String -> String -> Parser a
- optionMods :: (HasMetavar f, HasName f) => Char -> String -> String -> String -> Mod f a
- strOptionalWith :: Char -> String -> String -> String -> String -> Parser String
- optionalWith :: ReadM a -> Char -> String -> String -> String -> a -> Parser a
- optionalMods :: (HasMetavar f, HasName f, HasValue f) => Char -> String -> String -> String -> a -> Mod f a
- argumentWith :: ReadM a -> String -> Parser a
Documentation
:: Maybe Version | version string |
-> String | header |
-> String | program description |
-> Parser (IO ()) | commands |
-> IO () |
Parser executor (allows interspersed args and options)
simpleCmdArgs (Just version) "summary" "program description" $ myCommand <$> myOptParser <*> myargsParser
:: Maybe Version | version string |
-> String | header |
-> String | program description |
-> Parser (IO ()) | commands |
-> IO () |
Parser executor without interspersing options and args
simpleCmdArgs' Nothing "summary" "program description" $ myCommand <$> myOptParser <*> myargsParser
simpleCmdArgsWithMods Source #
Generic parser executor with explicit info modifiers
data Subcommand Source #
Subcommand "command" "help description text" $ myCommand <$> optParser
Subcommand String String (Parser (IO ())) |
subcommands :: [Subcommand] -> Parser (IO ()) Source #
list of Subcommand
that can be run by simpleCmdArgs
switchWith :: Char -> String -> String -> Parser Bool Source #
switch with Mods
switchWith 'o' "option" "help description"
switchMods :: HasName f => Char -> String -> String -> Mod f a Source #
Mod
s for a switch.
switchMods 'o' "option" "help description"
strOptionWith :: Char -> String -> String -> String -> Parser String Source #
strOption with Mods
strOptionWith 'o' "option" "METAVAR" "help description"
optionWith :: ReadM a -> Char -> String -> String -> String -> Parser a Source #
option with Mods
optionWith 'o' "option" "METAVAR" "help description"
optionMods :: (HasMetavar f, HasName f) => Char -> String -> String -> String -> Mod f a Source #
Mod
s for a mandatory option.
optionMods 'o' "option" "METAVAR" "help description"
strOptionalWith :: Char -> String -> String -> String -> String -> Parser String Source #
strOptional with Mods
strOptionalWith 'o' "option" "METAVAR" "help description" default
optionalWith :: ReadM a -> Char -> String -> String -> String -> a -> Parser a Source #
optional option with Mods, includes a default value.
optionalWith 'o' "option" "METAVAR" "help description" default