Changes for version 1.32

  • Improved Term Plugin (History, Delete, Pasting, Pos1/End, Cursors)
  • Documentation
  • Added app_command_register
  • Errors are now printed on STDERR
  • Disable fuzzy match for single letter parameters
  • Use proper exitcodes if errors occur
  • Add tests for subprocesses
  • Add MutexGroup plugin (implemented by Hunter McMillen)
  • Add Depends plugin (implemented by Hunter McMillen)

Documentation

getting started with MooseX::App
Writing plugins for MooseX::App

Modules

Write user-friendly command line apps with even less suffering
Load command class metaclasses
Message presented to the user
Meta attribute role for options
Meta class role for application base class
Meta class role for command classes
Parsed element from @ARGV
Bash completion for your MooseX::App applications
Colorful output for your MooseX::App applications
Config files your MooseX::App applications
Config files in users home directory
Adds dependent options
Adds a command to display the full manual
Adds mutually exclusive options
Allows one to specify options/parameters via terminal prompts
Handle typos in command names
Adds a command to display the version and license of your application
Define attributes in a role
Single command applications

Provides

in lib/MooseX/App/Plugin/Depends/Meta/Attribute.pm
in lib/MooseX/App/Plugin/MutexGroup/Meta/Attribute.pm
in lib/MooseX/App/Meta/Role/Attribute/Option.pm
in lib/MooseX/App/Plugin/Term/Meta/Attribute.pm
in lib/MooseX/App/Exporter.pm
in lib/MooseX/App/Message/BlockColor.pm
in lib/MooseX/App/Meta/Role/Class/Command.pm
in lib/MooseX/App/Meta/Role/Class/Simple.pm
in lib/MooseX/App/Message/Envelope.pm
in lib/MooseX/App/Plugin/BashCompletion/Command.pm
in lib/MooseX/App/Plugin/BashCompletion/Meta/Class.pm
in lib/MooseX/App/Plugin/Color/Meta/Class.pm
in lib/MooseX/App/Plugin/Config/Meta/Class.pm
in lib/MooseX/App/Plugin/ConfigHome/Meta/Class.pm
in lib/MooseX/App/Plugin/Depends/Meta/Attribute.pm
in lib/MooseX/App/Plugin/Depends/Meta/Class.pm
in lib/MooseX/App/Plugin/Env.pm
in lib/MooseX/App/Plugin/Fuzzy.pm
in lib/MooseX/App/Plugin/Man/Command.pm
in lib/MooseX/App/Plugin/Man/Meta/Class.pm
in lib/MooseX/App/Plugin/MutexGroup/Meta/Attribute.pm
in lib/MooseX/App/Plugin/MutexGroup/Meta/Class.pm
in lib/MooseX/App/Plugin/Term/Meta/Attribute.pm
in lib/MooseX/App/Plugin/Term/Meta/Class.pm
in lib/MooseX/App/Plugin/Typo/Meta/Class.pm
in lib/MooseX/App/Plugin/Version/Command.pm
in lib/MooseX/App/Plugin/Version/Meta/Class.pm
in lib/MooseX/App/Role/Base.pm
in lib/MooseX/App/Role/Common.pm
in lib/MooseX/App/Utils.pm