Perinci-Sub-To-FishComplete
view release on metacpan or search on metacpan
lib/Perinci/Sub/To/FishComplete.pm view on Meta::CPAN
}
my $gcd_res = $args{gcd_res} // do {
require Perinci::Sub::To::CLIDocData;
Perinci::Sub::To::CLIDocData::gen_cli_doc_data_from_meta(
meta=>$meta, meta_is_normalized=>1, common_opts=>$common_opts,
per_arg_json => $args{per_arg_json},
per_arg_yaml => $args{per_arg_yaml},
);
};
$gcd_res->[0] == 200 or return $gcd_res;
my $clidocdata = $gcd_res->[2];
my $cmdname = $args{cmdname};
if (!$cmdname) {
($cmdname = $0) =~ s!.+/!!;
}
my @cmds;
my $prefix = "complete -c ".shell_quote($cmdname);
push @cmds, "$prefix -e"; # currently does not work (fish bug)
for my $opt0 (sort keys %{ $clidocdata->{opts} }) {
my $ospec = $clidocdata->{opts}{$opt0};
my $req_arg;
for my $opt (split /, /, $opt0) {
$opt =~ s/^--?//;
$opt =~ s/=(.+)// and $req_arg = $1;
my $cmd = $prefix;
$cmd .= length($opt) > 1 ? " -l '$opt'" : " -s '$opt'";
$cmd .= " -d ".shell_quote($ospec->{summary}) if $ospec->{summary};
COMP_ARG_VAL:
( run in 0.757 second using v1.01-cache-2.11-cpan-454fe037f31 )