- Make auto-registration optional, but on by default
- Bring back auto regisration (broke dpl)
- Do not auto-register commands by default
- Fix calling const.include on older Ruby versions
- Enforce declaring arguments
- Allow optional strings on long opts
- Define arg accessor on an included module so it can be overwritten
- Inherit args from parent commands
- Do not raise on empty splats
- Allow args to have defaults
- Allow args to be enums
- Define predicate methods for args
- Make flag values an optional feature
- List multiple usage lines if a command has multiple registry keys
- Sort options by class hierarchie
- Do not try to cast nil values to integers
- Rescue OptionParser::InvalidOption, suggest known options
- Fix deprecations for underscored keys
- Fix an issue in opt.deprecated?(name)
- Add suggestions on unknown cmds and enums
- Validate option options
- Fix an issue with alias names that contain the aliased name
- Fix enum when used with
type: :array
- Allow clients to configure Ctx so that it does not abort but raise on errors
- Fix that validation for
opt '--one STR', requires: :other, default: 'one'
would fail if the option was not given
- Add
opt '--one STR', upcase: true
- Add config, reading from env vars and yml files (inspired by gem-release)
- Add
abstract
in order to signal a cmd is a base class that is not meant to be executed - Add
examples
in order to add examples for the command to the help output - Add
required :one, [:two, :three]
(DNF, i.e: either:one
or both:two
and:three
must be given) - Add
opt '--one STR', type: :array
for options that can be given multiple times - Add
opt '--one STR', default: 'one'
- Add
opt '--one STR', requires :two
or[:two, :three]
for options that depend on other options - Add
opt '--one', alias: :other
- Add
opt '--one', deprecated: 'message'
, andcmd.deprected_opts
, so clients can look up which deprecated options were used - Add
opt '--one', alias: :other, deprecated: :other
, so thatcmd.deprecated_opts
returns the alias name if it was used - Add
opt '--int INT', min: 10, type: :integer
- Add
opt '--int INT', max: 10, type: :integer
- Add
opt '--one STR', format: /.+/
- Add
opt '--one STR', enum: ['one', /\w+/]
- Add
opt '--one STR', downcase: true
- Add
opt '--one STR', internal: true
, hide internal options from help output - Add
opt '--one STR', example: 'foo'
- Add
opt '--one STR', negate: %w(skip)
- Add
opt '--one STR', note: 'note'
- Add `opt '--one STR', see: 'https://provider.com/docs'
- Add
opt '--one STR', secret: true
- Much improved help output, modeled after rubygems' help output
- Cl is now a class
- Use the regstry gem, remove the local Registry implementation
- If a flag (boolean option) has a default
true
automatically add[no-]
to it, allowing to opt out - Runners are now registered in order to make them more easily extendable
- Removed cmd.defaults, options have default: [value] now
- Ancient history
- Ancient history
- Ancient history
- Ancient history