Skip to content

Releases: pcapriotti/optparse-applicative

optparse-applicative 0.18.1

16 Jul 23:38
270a626
Compare
Choose a tag to compare
  • Change pretty printer layout algorithm used.

    The layoutSmart algorithm appears to be extremely slow with some command line
    sets, to the point where the program appears to hang.

    Fixes issues:

    • # 476 - Stack executable 'hangs' with 0.17.1 and 0.18.0.
  • Render help text with AnsiStyle aware rendering functions.

optparse-applicative 0.18.0

23 May 10:44
eccd532
Compare
Choose a tag to compare
  • Move to 'prettyprinter` library for pretty printing.

    This is a potentially breaking change when one uses the '*Doc' family of functions
    (like headerDoc) from Options.Applicative. However, as versions of
    'ansi-wl-pprint > 1.0' export a compatible Doc type, this can be mitigated by
    using a recent version.

    One can also either import directly from Options.Applicative.Help or from the
    Prettyprinter module of 'prettyprinter'.

  • Allow commands to be disambiguated in a similar manner to flags when the
    disambiguate modifier is used.

    This is a potentially breaking change as the internal CmdReader constructor
    has been adapted so it is able to be inspected to a greater degree to support
    finding prefix matches.

optparse-applicative 0.17.1

23 May 10:43
Compare
Choose a tag to compare
  • Widen bounds for ansi-wl-pprint. This supports the use of prettyprinter
    in a non-breaking way, as the ansi-wl-pprint > 1.0 support the newer
    library.

  • Export helpIndent from Options.Applicative.

  • Export completion script generators from Options.Applicative.BashCompletion.

  • Add simpleVersioner utility for adding a '--version' option to a parser.

  • Improve documentation.

optparse-applicative 0.17.0

01 Feb 10:26
d307e46
Compare
Choose a tag to compare
  • Make tabulation width configurable in usage texts.

  • Separate program name and description in ParserHelp type.

  • Add helperWith function, which can be easily used to
    localize the help flag.

  • Improve usage texts when command names are long.

  • Improve Documentation.

optparse-applicative 0.16.1

15 Dec 22:27
Compare
Choose a tag to compare
  • Guard process dependency behind an on by default flag. This allows one to shrink the dependency tree significantly by turning off the ability to use bash completion actions.

  • Remove bytestring dependency from the test suite.

optparse-applicative 0.16.0

13 Aug 15:15
2c0e6ef
Compare
Choose a tag to compare
  • Add Options.Applicative.NonEmpty.some1 function, which
    parses options the same as some1 from base, but doesn't
    cause duplicates in the usage texts.

  • Further improve help text generation in the presence
    of optional values when nesting is involved, and many and
    some when displayed with a suffix.

  • Add "global" options to the usage texts for subcommands.
    When using subcommands, a "global options" section can
    now appear below the options and commands sections.

    Global options are off by default, to enable them, use
    the helpShowGlobals modifier.

    The noGlobal builder will suppress a single option being
    displayed in the global options list.

    Fixes issues:

    • # 175 - List detailed subparser documentation with --help
    • # 294 - Displaying global options when listing options for a command.
    • # 359 - Subcommand help text lacks required parent command arguments
  • Allow the --help option to take the name of a command.
    Usage without any arguments is the same, but now, when an
    argument is given, if it is the name of a currently
    reachable command, the help text for that command will
    be show.

    Fixes issues:

    • # 379 - cmd --help subcmd is not the same as cmd subcmd --help
  • Updated dependency bounds.

  • Add builder for the all positional parser policy.

  • Remove deprecated functions

    • nullOption
    • execParserMaybe
    • customExecParserMaybe

optparse-applicative 0.15.1

12 Sep 11:53
27387c0
Compare
Choose a tag to compare
  • Improve printing of brief descriptions for parsers.
    Previously, the logical structure of the parser,
    such as alternative groups and segments which must
    be defined together, did not influence the layout of
    the brief description. This could lead to some help
    texts being difficult to read. Now, we use nesting
    and forced line breaks to help improve readability.

optparse-applicative 0.15.0

06 Jul 04:18
114e6ec
Compare
Choose a tag to compare
  • Add support for GHC 8.8.1.

  • Add subparserInline modifier as additional way of
    executing subparsers. When activated, the subparser
    parse tree will be inserted into that of the parent
    instead of being run independently, allowing mixing
    of child and parent options.

  • Improve rendering of complex nested parse structures.
    Previously, brackets and parenthesis did not respect
    whether or not options had to be defined together.
    Now the parse tree is more accurately represeted in
    the help text.

  • Add helpLongEquals modifier, which will change how
    long options are printed in the help text, adding an
    equals sign, for example "--input=FILE".

  • Updated dependency bounds.

  • Clean ups and Documentation.

optparse-applicative 0.14.3

13 May 11:59
5e377c0
Compare
Choose a tag to compare
  • Updated dependency bounds.

  • Fix tab completion with Commands being unreachable.

  • Clean ups and Documentation.

optparse-applicative 0.14.2

26 Feb 09:42
b8265a4
Compare
Choose a tag to compare
  • Updated dependency bounds.