App-Spec
view release on metacpan or search on metacpan
lib/App/Spec/Completion/Bash.pm view on Meta::CPAN
sub flags_options {
my ($self, $options) = @_;
my @flags;
my @opt;
for my $o (@$options) {
my $name = $o->name;
my $aliases = $o->aliases;
my $summary = $o->summary;
$summary =~ s/\s+/ /g if defined $summary;
my @names = ($name, @$aliases);
($summary, @names) = $self->escape_singlequote( $summary, @names );
@names = map {
length $_ > 1 ? "--$_" : "-$_"
} @names;
my @items = map {
("'$_'", "'$summary'")
} @names;
if ($o->type eq 'flag') {
push @flags, @items;
}
else {
push @opt, @items;
}
}
return ("@flags", "@opt");
}
sub escape_singlequote {
my ($self, @strings) = @_;
my @result;
for my $string (@strings) {
no warnings 'uninitialized';
$string =~ s/[']/'"\\\\'"'/g;
push @result, $string;
}
return wantarray ? @result : $result[0];
}
lib/App/Spec/Completion/Bash.pm view on Meta::CPAN
=item completion_commands
=item completion_options
=item completion_parameter
=item completion_parameters
=item dynamic_completion
=item escape_singlequote
(@names) = $self->escape_singlequote( @names );
=item flags_options
my ($flags_string, $options_string) = $completer->flags_options($global_options);
=back
=cut
( run in 0.763 second using v1.01-cache-2.11-cpan-5467b0d2c73 )