Skip to content

Releases: kylef/Commander

0.9.1

23 Sep 20:43
Compare
Choose a tag to compare

Enhancements

  • Usage/help output for commands which contain flags will now contain the short flag, for example, -v, --verbose.
    #71

Bug Fixes

  • Fixed ordering of flags in the "Unknown Arguments" help output of a command. Flags have previously been stored in an un orderered set and thus upon printing them back out their order was not persisted and a flag part such as -user can be printed as -usre.
    #78

0.9.0

12 Jun 02:57
Compare
Choose a tag to compare

Breaking

  • Support for Swift < 4.2 has been removed.

Enhancements

  • Added syntax for using array as a type with Argument instead of using VariadicArgument:

    command(Argument<[String]>("names")) { names in }
  • Added support for optional arguments and options, for example:

    command(Argument<String?>("name")) { name in }
    command(Option<String?>("name", default: nil)) { name in }
  • Added support for using -- to signal that subsequent values should be treated as arguments instead of options.
    Tamas Lustyik

  • Output of --help for group commands will now sort the commands in alphabetical order.
    Cameron Mc Gorian

Bug Fixes

  • Showing default values for custom ArgumentConvertible types are now supported in the --help output of commands.

  • Only print errors in red if the output terminal supports ANSI colour codes.
    #58

  • ArgumentParser.isEmpty will now return empty for empty arguments.

0.8.0

14 Oct 11:09
Compare
Choose a tag to compare

Enhancements

  • Consolidate the argument descriptors:
    • All Option-related types now have a validator.
    • All Option-related types now have a flag parameter.
    • All constructors have the same constructor arguments order. #35

Bug Fixes

  • Restores compatibility with Linux.

0.7.1

28 Sep 12:21
Compare
Choose a tag to compare

Bug Fixes

  • The Swift Package now contains the Commander library product.

0.7.0

28 Sep 12:21
Compare
Choose a tag to compare

Switches to Swift 4.0.

Bug Fixes

  • Better detection of ANSI support in output tty.
    #43

0.6.0

27 Nov 18:15
Compare
Choose a tag to compare

Enhancements

  • VariadicArgument now supports an optional validator.
  • Adds support for variadic options, allowing the user to repeat options to
    provide additional values.
    #37
  • Argument descriptions are now printed in command help.
    #33
  • Default option and flag default values will now be shown in help output.
    Only default option types of String and Int are currently supported in help output.
    #34

Bug Fixes

  • VaradicArgument has been renamed to VariadicArgument.

0.4.1

16 Feb 18:29
Compare
Choose a tag to compare

Bug Fixes

  • Fix a potential crash when UsageError is thrown on Linux.
  • --help output now wraps arguments in diamonds <>.

0.4.0

04 Dec 20:46
Compare
Choose a tag to compare
Enhancements
  • Commander can now run on Linux.

0.3.1

04 Dec 18:11
Compare
Choose a tag to compare
Enhancements
  • Commander can now be installed with SPM (Swift Package Manager).
Bug Fixes
  • Fix an issue where shifting flags don't shift the flag itself. This caused one-charter options to become broken.
    #16

0.3.0

22 Nov 21:52
Compare
Choose a tag to compare
Enhancements
  • Convenience commands can now throw

  • You can now supply a falseName and falseFlag when creating flags.

    Flag("verbose", flag: "v", disabledName": "no-verbose", disabledFlag: "x")
  • You can supply your own unknownCommandhelper within a group.

  • Arguments can now have a description.

  • Support for variadic arguments.

Bug Fixes

  • When invoking a command using a described argument, the argument will know throw an error when the argument is missing.
  • Errors are now thrown when a described command receives unknown flags or arguments.