module GetOpt.Declarative.Types where import Prelude () import Test.Hspec.Core.Compat data Option config = Option { Option config -> String optionName :: String , Option config -> Maybe Char optionShortcut :: Maybe Char , Option config -> OptionSetter config optionSetter :: OptionSetter config , Option config -> String optionHelp :: String , Option config -> Bool optionDocumented :: Bool } data OptionSetter config = NoArg (config -> config) | Flag (Bool -> config -> config) | OptArg String (Maybe String -> config -> Maybe config) | Arg String (String -> config -> Maybe config)