MooseX::App::Plugin::Term(3) Allows one to specify options/parameters via terminal prompts


In your base class:

package MyApp;
use MooseX::App qw(Term);

In your command class:

 package MyApp::SomeCommand;
 use MooseX::App::Command;
 option 'some_option' => (
     is             => 'rw',
     isa            => 'Int',
     documentation  => 'Something',
     cmd_term       => 1,
 sub run {
     my ($self) = @_;
     say "Some option is ".$self->some_option;

In your shell

 bash$ myapp some_command
 Something (Required, an integer):
 Value must be an integer (not 'test')
 Some option is 1


This plugin can prompt the user for missing options/parameters on the terminal. The user will only be promted if the parameter were not provided by different means (parameter and option or config files and environment values if the respectice plugins have been loaded before this plugin) and if the script is connected to an interactive terminal.

Term input has basic editing capabilities (cursor, del, backspace and history)