multiarg-0.2.0.0: Combinators to build command line parsers

Safe HaskellSafe-Infered

System.Console.MultiArg.Option

Description

These types represent options. They are abstract and in a separate module to prevent you from accidentally making an option with an invalid name. Option names cannot have a dash as their first or second character, and long option names cannot have an equals sign anywhere in the name.

Synopsis

Documentation

data ShortOpt Source

Short options. Options that are preceded with a single dash on the command line and consist of a single letter. That single letter cannot be a dash. Any other Unicode character is good (including pathological ones like newlines).

makeShortOpt :: Char -> ShortOptSource

This function is partial. It calls error if its argument is a single dash. This is the only way to make a short option so it prevents you from making one that is invalid.

data LongOpt Source

Long options. Options that are preceded with two dashes on the command line and typically consist of an entire mnemonic word, such as lines. However, anything that is at least one letter long is fine for a long option name. The name must not have a dash as either the first or second character and it must be at least one character long. It cannot have an equal sign anywhere in its name. Otherwise any Unicode character is good (including pathological ones like newlines).

makeLongOpt :: Text -> LongOptSource

This function is partial. It calls error if its argument contains text that is not a valid long option. This is the only way to make a long option so it prevents you from making invalid ones.