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.224 second using v1.01-cache-2.11-cpan-454fe037f31 )