SYNOPSIS
package MyApp::SomeCommand;
use MooseX::App::Command; # Also loads Moose
option 'testattr' => (
isa => 'rw',
cmd_tags => [qw(Important! Nice))],
);
command_short_description 'This is a short description';
command_long_description 'This is a much longer description yadda yadda';
command_usage 'script some_command --testattr 123';
DESCRIPTION
By loading this class into your command classes you import all required symbols, and enable all documentation features such as:- Parsing command documentation from Pod
- Setting the command documentation manually via "command_short_description" and "command_long_description"
- Overriding the automated usage header with custom usage from Pod or via "command_usage"
- Adding the "cmd_tags", "cmd_flag", "cmd_aliases" and "cmd_type" attributes to options
FUNCTIONS
command_short_description
Set the short description. If not set this information will be taken from the Pod NAME or ABSTRACT section. Alternative this will be taken from the DistZilla ABSTRACT tag.command_long_description
Set the long description. If not set this information will be taken from the Pod DESCRIPTION or OVERVIEW sections.command_usage
Set custom usage. If not set this will be taken from the Pod SYNOPSIS or USAGE section. If those sections are not available, the usage information will be autogenerated.command_strict
command_strict(0); # default OR command_strict(1);
If strict is enabled the program will terminate with an error message if superfluous/unknown positional parameters are supplied. If disabled all extra parameters will be copied to the extra_argv attribute.
The app_strict function in the app classes allows one to set this option globally.