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.