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

NAME

MooseX::App::Command - Load command class metaclasses

SYNOPSIS

 package MyApp::SomeCommand;
 
 use Moose; # optional
 use MooseX::App::Command
 
 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 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 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.