logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

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_strictcommand_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.

perl v5.36.0                                       2023-10-22                          MooseX::App::Command(3pm)

Name

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

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';

See Also