App-Spec
view release on metacpan or search on metacpan
lib/App/Spec.pm view on Meta::CPAN
if (exists $keys{ $key }) {
push @keys, $key;
delete $keys{ $key };
}
}
unshift @keys, sort keys %keys;
}
for my $name (@keys) {
my $cmd_spec = $subcmds->{ $name };
my $summary = $cmd_spec->summary;
my @lines = split m/\n/, $summary;
push @table, [$name, $lines[0] // ''];
push @table, ['', $_] for map { s/^ +//; $_ } @lines[1 .. $#lines];
if (length $name > $maxlength) {
$maxlength = length $name;
}
}
$body .= $self->_output_table(\@table, [$maxlength]);
}
if (@$parameters) {
lib/App/Spec.pm view on Meta::CPAN
}
if ($param->mapping) {
$multi = '{}';
}
elsif ($param->multiple) {
$multi = '[]';
}
my $flags = $self->_param_flags_string($param);
my @lines = split m/\n/, $summary;
push @table, [$name, $req, $multi, ($lines[0] // '') . $flags];
push @table, ['', ' ', ' ', $_] for map { s/^ +//; $_ } @lines[1 .. $#lines];
if (length $name > $maxlength) {
$maxlength = length $name;
}
}
my $parameters_string = $colored->([qw/ bold /], "Parameters:");
$body .= "$parameters_string\n";
my @lines = $self->_output_table(\@table, [$maxlength]);
my $lines = $self->_colorize_lines(\@lines, \@highlights, $colored);
lib/App/Spec.pm view on Meta::CPAN
}
if ($opt->mapping) {
$multi = '{}';
}
elsif ($opt->multiple) {
$multi = '[]';
}
my $flags = $self->_param_flags_string($opt);
my @lines = split m/\n/, $summary;
push @table, [$string, $req, $multi, ($lines[0] // '') . $flags];
push @table, ['', ' ', ' ', $_ ] for map { s/^ +//; $_ } @lines[1 .. $#lines];
}
my $options_string = $colored->([qw/ bold /], "Options:");
$body .= "\n$options_string\n";
my @lines = $self->_output_table(\@table, [$maxlength]);
my $lines = $self->_colorize_lines(\@lines, \@highlights, $colored);
$body .= $lines;
}
lib/App/Spec/Pod.pm view on Meta::CPAN
my $required = $param->required ? '*' : '';
my $summary = $param->summary;
my $multi = '';
if ($param->mapping) {
$multi = '{}';
}
elsif ($param->multiple) {
$multi = '[]';
}
my $flags = $self->spec->_param_flags_string($param);
my @lines = split m/\n/, $summary;
push @rows, [" " . $param->name, " " . $required, $multi, ($lines[0] // '') . $flags];
push @rows, [" " , " ", '', $_] for map {s/^ +//; $_ } @lines[1 .. $#lines];
}
my $test = $self->simple_table(\@rows);
return $test;
}
sub simple_table {
my ($self, $rows) = @_;
my @widths;
lib/App/Spec/Pod.pm view on Meta::CPAN
if ($opt->mapping) {
$multi = '{}';
}
elsif ($opt->multiple) {
$multi = '[]';
}
my @names = map {
length $_ > 1 ? "--$_" : "-$_"
} ($name, @$aliases);
my $flags = $self->spec->_param_flags_string($opt);
my @lines = split m/\n/, $summary;
push @rows, [" @names", " " . $required, $multi, ($lines[0] // '') . $flags];
push @rows, [" ", " " , '', $_ ] for map {s/^ +//; $_ } @lines[1 .. $#lines];
}
my $test = $self->simple_table(\@rows);
return $test;
}
sub markup {
my ($self, %args) = @_;
my $text = $args{text};
lib/App/Spec/Run/Validator.pm view on Meta::CPAN
my $values;
if ($spec->multiple and $spec->mapping) {
if (not defined $value) {
$items->{ $name } = $value = {};
}
$values = $value;
if (not keys %$values) {
if (defined (my $default = $spec->default)) {
$values = { split m/=/, $default, 2 };
$items->{ $name } = $values;
}
}
if (not keys %$values and $spec->required) {
$errs->{ $type }->{ $name } = "missing";
next;
}
if (not keys %$values) {
( run in 1.025 second using v1.01-cache-2.11-cpan-f5b5a18a01a )