Safe Haskell | None |
---|---|
Language | Haskell2010 |
- defaultMain :: OptionDesc (IO ()) () -> IO ()
- defaultMainWith :: OptionDesc (IO ()) () -> [String] -> IO ()
- parseOptions :: OptionDesc r () -> [String] -> (ProgramDesc r, OptionRes r)
- data OptionRes r
- data OptionDesc r a
- programName :: String -> OptionDesc r ()
- programVersion :: Version -> OptionDesc r ()
- programDescription :: String -> OptionDesc r ()
- command :: String -> OptionDesc r () -> OptionDesc r ()
- data FlagFrag
- flag :: FlagFrag -> OptionDesc r (Flag Bool)
- flagParam :: FlagFrag -> FlagParser a -> OptionDesc r (FlagParam a)
- flagMany :: OptionDesc r (FlagParam a) -> OptionDesc r (FlagMany a)
- conflict :: Flag a -> Flag b -> OptionDesc r ()
- argument :: String -> ValueParser a -> OptionDesc r (Arg a)
- remainingArguments :: String -> OptionDesc r (ArgRemaining [String])
- action :: Action r -> OptionDesc r ()
- description :: String -> OptionDesc r ()
- type Action r = (forall a p. Param p => p a -> Ret p a) -> r
- data FlagParser a
- = FlagRequired (ValueParser a)
- | FlagOptional a (ValueParser a)
- data Flag a
- data FlagLevel a
- data FlagParam a
- data FlagMany a
- data Arg a
- data ArgRemaining a
- data Params = Params {
- paramsFlags :: [(Nid, Maybe String)]
- paramsPinnedArgs :: [String]
- paramsRemainingArgs :: [String]
- getParams :: Param p => Params -> forall a. p a -> Ret p a
Running
defaultMain :: OptionDesc (IO ()) () -> IO () Source #
defaultMainWith :: OptionDesc (IO ()) () -> [String] -> IO () Source #
parseOptions :: OptionDesc r () -> [String] -> (ProgramDesc r, OptionRes r) Source #
data OptionDesc r a Source #
Monad (OptionDesc r) Source # | |
Functor (OptionDesc r) Source # | |
Applicative (OptionDesc r) Source # | |
Description
programName :: String -> OptionDesc r () Source #
Set the program name
programVersion :: Version -> OptionDesc r () Source #
Set the program version
programDescription :: String -> OptionDesc r () Source #
Set the program description
command :: String -> OptionDesc r () -> OptionDesc r () Source #
Create a new sub command
flag :: FlagFrag -> OptionDesc r (Flag Bool) Source #
Flag option either of the form -short or --long
for flag that expect a value (optional or mandatory), uses flagArg
flagParam :: FlagFrag -> FlagParser a -> OptionDesc r (FlagParam a) Source #
Flag option either of the form -short or --long
for flag that doesn't have parameter, use flag
flagMany :: OptionDesc r (FlagParam a) -> OptionDesc r (FlagMany a) Source #
conflict :: Flag a -> Flag b -> OptionDesc r () Source #
give the ability to set options that are conflicting with each other if option a is given with option b then an conflicting error happens
argument :: String -> ValueParser a -> OptionDesc r (Arg a) Source #
An unnamed argument
For now, argument in a point of tree that contains sub trees will be ignored. TODO: record a warning or add a strict mode (for developping the CLI) and error.
remainingArguments :: String -> OptionDesc r (ArgRemaining [String]) Source #
action :: Action r -> OptionDesc r () Source #
Set the action to run in this command
description :: String -> OptionDesc r () Source #
Set the description for a command
Arguments
data FlagParser a Source #
FlagRequired (ValueParser a) | |
FlagOptional a (ValueParser a) |
data ArgRemaining a Source #
Params | |
|