The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 1.36 - 2016-10-11

  • Documentation
  • Set correct encoding on STDERR
  • Fix order of options (fixed by J.R. Mash)
  • Replace dashes in variable names with underscores in bash completion (implemented by Tina Müller)
  • Do not autocomplete autocomplete itself (implemented by Lisa Hare)
  • Create correct documentation for options with cmd_split
  • Rename hints key to clarify purpose
  • Add ability to negate boolean options (implemented by Marc Logghe)
  • Spelling fixes github#39 (fixed by Gregor Herrmann)
  • Retain original order of elements from @ARGV

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
Utility functions

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