module Rattletrap.Console.Option where import qualified Rattletrap.Console.Flag as Flag import qualified System.Console.GetOpt as Console type Option = Console.OptDescr Flag.Flag all :: [Option] all :: [Option] all = [Option compact, Option fast, Option help, Option input, Option mode, Option output, Option schema, Option skipCrc, Option version] compact :: Option compact :: Option compact = [Char] -> [[Char]] -> ArgDescr Flag -> [Char] -> Option forall a. [Char] -> [[Char]] -> ArgDescr a -> [Char] -> OptDescr a Console.Option [Char 'c'] [[Char] "compact"] (Flag -> ArgDescr Flag forall a. a -> ArgDescr a Console.NoArg Flag Flag.Compact) [Char] "minify JSON output" fast :: Option fast :: Option fast = [Char] -> [[Char]] -> ArgDescr Flag -> [Char] -> Option forall a. [Char] -> [[Char]] -> ArgDescr a -> [Char] -> OptDescr a Console.Option [Char 'f'] [[Char] "fast"] (Flag -> ArgDescr Flag forall a. a -> ArgDescr a Console.NoArg Flag Flag.Fast) [Char] "only encode or decode the header" help :: Option help :: Option help = [Char] -> [[Char]] -> ArgDescr Flag -> [Char] -> Option forall a. [Char] -> [[Char]] -> ArgDescr a -> [Char] -> OptDescr a Console.Option [Char 'h'] [[Char] "help"] (Flag -> ArgDescr Flag forall a. a -> ArgDescr a Console.NoArg Flag Flag.Help) [Char] "show the help" input :: Option input :: Option input = [Char] -> [[Char]] -> ArgDescr Flag -> [Char] -> Option forall a. [Char] -> [[Char]] -> ArgDescr a -> [Char] -> OptDescr a Console.Option [Char 'i'] [[Char] "input"] (([Char] -> Flag) -> [Char] -> ArgDescr Flag forall a. ([Char] -> a) -> [Char] -> ArgDescr a Console.ReqArg [Char] -> Flag Flag.Input [Char] "FILE|URL") [Char] "input file or URL" mode :: Option mode :: Option mode = [Char] -> [[Char]] -> ArgDescr Flag -> [Char] -> Option forall a. [Char] -> [[Char]] -> ArgDescr a -> [Char] -> OptDescr a Console.Option [Char 'm'] [[Char] "mode"] (([Char] -> Flag) -> [Char] -> ArgDescr Flag forall a. ([Char] -> a) -> [Char] -> ArgDescr a Console.ReqArg [Char] -> Flag Flag.Mode [Char] "MODE") [Char] "decode or encode" output :: Option output :: Option output = [Char] -> [[Char]] -> ArgDescr Flag -> [Char] -> Option forall a. [Char] -> [[Char]] -> ArgDescr a -> [Char] -> OptDescr a Console.Option [Char 'o'] [[Char] "output"] (([Char] -> Flag) -> [Char] -> ArgDescr Flag forall a. ([Char] -> a) -> [Char] -> ArgDescr a Console.ReqArg [Char] -> Flag Flag.Output [Char] "FILE") [Char] "output file" schema :: Option schema :: Option schema = [Char] -> [[Char]] -> ArgDescr Flag -> [Char] -> Option forall a. [Char] -> [[Char]] -> ArgDescr a -> [Char] -> OptDescr a Console.Option [] [[Char] "schema"] (Flag -> ArgDescr Flag forall a. a -> ArgDescr a Console.NoArg Flag Flag.Schema) [Char] "output the schema" skipCrc :: Option skipCrc :: Option skipCrc = [Char] -> [[Char]] -> ArgDescr Flag -> [Char] -> Option forall a. [Char] -> [[Char]] -> ArgDescr a -> [Char] -> OptDescr a Console.Option [] [[Char] "skip-crc"] (Flag -> ArgDescr Flag forall a. a -> ArgDescr a Console.NoArg Flag Flag.SkipCrc) [Char] "skip the CRC" version :: Option version :: Option version = [Char] -> [[Char]] -> ArgDescr Flag -> [Char] -> Option forall a. [Char] -> [[Char]] -> ArgDescr a -> [Char] -> OptDescr a Console.Option [Char 'v'] [[Char] "version"] (Flag -> ArgDescr Flag forall a. a -> ArgDescr a Console.NoArg Flag Flag.Version) [Char] "show the version"