packages feed

rattletrap-14.1.4: src/lib/Rattletrap/Console/Option.hs

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 = [compact, fast, help, input, mode, output, schema, skipCrc, version]

compact :: Option
compact =
  Console.Option
    ['c']
    ["compact"]
    (Console.NoArg Flag.Compact)
    "minify JSON output"

fast :: Option
fast =
  Console.Option
    ['f']
    ["fast"]
    (Console.NoArg Flag.Fast)
    "only encode or decode the header"

help :: Option
help = Console.Option ['h'] ["help"] (Console.NoArg Flag.Help) "show the help"

input :: Option
input =
  Console.Option
    ['i']
    ["input"]
    (Console.ReqArg Flag.Input "FILE|URL")
    "input file or URL"

mode :: Option
mode =
  Console.Option
    ['m']
    ["mode"]
    (Console.ReqArg Flag.Mode "MODE")
    "decode or encode"

output :: Option
output =
  Console.Option
    ['o']
    ["output"]
    (Console.ReqArg Flag.Output "FILE")
    "output file"

schema :: Option
schema =
  Console.Option [] ["schema"] (Console.NoArg Flag.Schema) "output the schema"

skipCrc :: Option
skipCrc =
  Console.Option [] ["skip-crc"] (Console.NoArg Flag.SkipCrc) "skip the CRC"

version :: Option
version =
  Console.Option
    ['v']
    ["version"]
    (Console.NoArg Flag.Version)
    "show the version"