optparse-applicative is a haskell library for parsing options on the command line, and providing a powerful applicative interface for composing them. optparse-applicative takes care of reading and validating the arguments passed to the command line, handling and reporting errors, generating a usage line, a comprehensive help screen, and enabling context-sensitive bash, zsh, and fish completions. A value of type Parser a represents a specification for a set of options, which will yield a value of type a when the command line arguments are successfully parsed. If you are familiar with parser combinator libraries like parsec, attoparsec, or the json parser aeson you will feel right at home with optparse-applicative. If not, don't worry! All you really need to learn are a few basic parsers, and how to compose them as instances of Applicative and Alternative.
Features
- The parser is built using an applicative style starting from a set of basic combinators
- The greet function is the entry point of the program
- optparse-applicative provides a number of primitive parsers, corresponding to different posix style options
- Options with an argument such as target are referred to as regular options
- Combine the target and quiet into a single parser that accepts both options and returns a combined value
- Builders allow you to define parsers using a convenient combinator-based syntax