-- | -- Module: Options.Types -- License: MIT module Options.Types ( OptionDefinitions(..) , GroupInfo(..) , OptionInfo(..) , TokensFor(..) ) where data OptionDefinitions a = OptionDefinitions [OptionInfo] [(String, [OptionInfo])] data GroupInfo = GroupInfo { groupInfoName :: String , groupInfoTitle :: String , groupInfoDescription :: String } deriving (Eq, Show) data OptionInfo = OptionInfo { optionInfoKey :: String , optionInfoShortFlags :: [Char] , optionInfoLongFlags :: [String] , optionInfoDefault :: String , optionInfoUnary :: Bool , optionInfoDescription :: String , optionInfoGroup :: Maybe GroupInfo } deriving (Eq, Show) data TokensFor a = TokensFor [(String, (String, String))] [String]