Changes for version 2.0.0_5 - 2022-09-29

  • Bug Fixes:
    • Replace a naked Carp::croak with OptArgs2->throw_error;
  • Code Maintenanc:e
    • Remove 'ishelp' warning and conversion
  • Packaging:
    • Remove unnecessary direct dependency on IO::Capture::Stdout

Changes for version 2.0.0_4 - 2022-09-28

  • API / Behaviour Changes:
    • Replace 'ishelp' attribute with isa => OptArgs2::STYLE_HELP
    • Move to "optargs => \@ARRAY" construction style
    • optargs2() renamed to replace optargs() completely
    • arg() and opt() deprected
    • Arg fallback replaced by fallthru option
  • New Features:
    • Utility functions cols() and rows() made public
  • Dependencies:
    • (development only) Use Class::Inline instead of Mo.
  • Packaging:
    • No longer generating duplicate Getopt::Args package.

Changes for version 2.0.0_3 - 2022-04-30

  • API / Behaviour Changes:
    • None
  • New Features:
    • ANSI terminal codes are used to color output, which can be disabled with the new 'show_color' option.
    • New optargs2() function
  • Enhancements:
    • OptArgs2::STYLE_HELPTREE output has been improved and now includes sub-command comments
    • OptArgs2::Pager now includes '-S' in the $LESS environment variable and documents this.
  • Bug Fixes:
    • Fix a StatusLine import with no arguments.

Changes for version 2.0.0_2 - 2022-02-26

  • New Features:
    • New OptArgs2::StatusLine package for terminal status lines
  • Enhancements:
    • Allow OptArgs2::Pager to work independently (by splitting out OptArgs2::Mo into its own file)
    • Code re-organisation
    • Show SubCmd arguments in usage message
  • Bug Fixes:
    • Fix for Getopt::Args2 conversion with a test
  • Dependencies:
    • Minimum of perl 5.16 for package BLOCK syntax
    • Test::Output for StatusLine tests
  • Packaging:
    • Clean up non-indexed packages list

Changes for version 2.0.0_1 - 2022-02-03

  • API / Behaviour Changes:
    • Changed OptArgs2::Pager on()/off() methods to start_pager(), stop_pager() and page() functions.
  • Enhancements:
    • Pager will only be started for usage messages with more lines than the terminal height.
  • Dependencies:
    • Exporter::Tidy for OptArgs2::Pager.
    • Term::Size::Perl and/or Win32::Console

Changes for version 0.0.12_2 - 2022-01-27

  • API / Behaviour Changes:
    • New 'show_default' feature
    • Opt 'ishelp' no longer conflicts with 'trigger'
    • The 'default' and 'required' parameters are no longer allowed together.
  • New Features:
    • New 'OptArgRef' arg type to support command aliases. I.e. capturing options and arguments that are passed back into class_optargs() again.
    • Pipe usage messages through a STDOUT pager
  • Enhancements:
    • Various minor code refactoring improvements.
    • Opt 'ishelp' now does what the documentation implies.
    • Support default values relying on other default values
    • Rework internal error reporting and usage generation
    • New usage layout showing default values
  • Bug Fixes:
    • Fix a ==/= comparison/assignment error in the usage() function introduced by 2347144c.
    • Bool option with true default turned off when --no-bool used.
  • Dependencies:
    • File::Which for new OptArgs2::Pager module.
  • Packaging:
    • Stop including ".readme_from" file in distribution

Changes for version 0.0.12_1 - 2018-08-31

  • Enhancements:
    • Refactor error handling to make it clearer and simpler.
    • Report all caller (user) errors where they occur
  • Bug Fixes:
    • The command abbreviation feature has never worked due to an arrayref dereferencing mistake. Discovered and fixed by Mario Domgoergen (mdom at Github).

Changes for version 0.0.1_2 - 2016-05-10

  • Bug Fixes:
    • Don't use the /r modifier (non-destructive substitution) on regex replacements as it is not supported by Perl's earlier than 5.14.

Changes for version 0.0.1_1 - 2016-05-09

  • Initial release.

Modules

command-line argument and option processor
pipe output to a system (text) pager
terminal status line

Provides

in lib/OptArgs2.pm
in lib/OptArgs2.pm
in lib/OptArgs2.pm
in lib/OptArgs2.pm
in lib/OptArgs2/CmdBase_CI.pm
in lib/OptArgs2/CmdBase_CI.pm
in lib/OptArgs2.pm
in lib/OptArgs2.pm
in lib/OptArgs2/OptArgBase_CI.pm
in lib/OptArgs2/OptArgBase_CI.pm
in lib/OptArgs2/Pager_CI.pm
in lib/OptArgs2/Pager_CI.pm
in lib/OptArgs2.pm
in lib/OptArgs2/StatusLine.pm
in lib/OptArgs2/StatusLine.pm
in lib/OptArgs2.pm
in lib/OptArgs2/SubCmd_CI.pm
in lib/OptArgs2/SubCmd_CI.pm