Skip to content

Releases: lambdaisland/cli

v0.23.93

25 Feb 08:02
Compare
Choose a tag to compare

Added

  • Add source tracking (config provenance) for keys in the initial context

Fixed

  • Only apply flag defaults if they are not yet present in the initial context

v0.22.87

09 Feb 11:08
Compare
Choose a tag to compare

Added

  • :middleware can now be a single function, not only a sequence of functions

Changed

  • [BREAKING] When setting a :handler for a boolean flag (one that looks like
    --[no-]...), the handler now receives the boolean value as a second argument
  • [BREAKING] Invoke flag handlers/middleware in the order they are specified, so
    that later flags can override earlier flags

v0.21.84

09 Feb 08:15
Compare
Choose a tag to compare

Added

  • Support :middleware in command specs, not just in flag handlers

v0.20.81

06 Feb 07:58
Compare
Choose a tag to compare

Fixed

  • Call parse of default value, as documented, also when no :handler for a
    flag is specified. Fixes #9

v0.19.78

23 Dec 08:16
Compare
Choose a tag to compare

Added

  • Add provenance tracking, :lambdaisland.cli/sources is a map from options key
    to human readable description of where that key came from, e.g. --foo command line flag, or positional command line argument idx=0. See
    lambdaisland/config for a use case.

v0.18.74

05 Aug 13:14
Compare
Choose a tag to compare

Added

  • Allow using a var that points to a map as a command specification

v0.17.71

24 Jul 11:04
Compare
Choose a tag to compare

Fixed

  • Add missing require for clojure.pprint

v0.16.68

17 Jul 11:43
Compare
Choose a tag to compare

Added

  • Added :coll? flagopt for flags that can be specified multiple times
  • Correctly print multiline flag docstrings

Fixed

Changed

v0.15.65

16 Jul 14:05
Compare
Choose a tag to compare

Fixed

  • Make sure cli/*opts* reflects what the main command receives

v0.14.62

04 Jul 06:34
Compare
Choose a tag to compare

Added

  • Allow :init also on nested subcommands, gets merged into top level init.
    Flags are processed afterwards, so this is good way to set initial data that
    flags can filter/change
  • Flags handlers can now be specified directly as vars, the docstring is used as flag doc