]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/LeiUp.pm
lei import: support shell completion of known folders
[public-inbox.git] / lib / PublicInbox / LeiUp.pm
index 0fb9698b0394c3b535d353e638ef7eb1ed300983..4399c4fba7641a0e4df7933415e207bda203376d 100644 (file)
@@ -25,6 +25,10 @@ sub up1 ($$) {
        my $o = $lei->{opt}->{output} = $lss->{-cfg}->{'lei.q.output'} //
                return $lei->fail("lei.q.output unset in $f");
        ref($o) and return $lei->fail("multiple values of lei.q.output in $f");
+       if (defined(my $dd = $lss->{-cfg}->{'lei.q.dedupe'})) {
+               $lss->translate_dedupe($lei, $dd) or return;
+               $lei->{opt}->{dedupe} = $dd;
+       }
        for my $k (qw(only include exclude)) {
                my $v = $lss->{-cfg}->get_all("lei.q.$k") // next;
                $lei->{opt}->{$k} = $v;
@@ -95,8 +99,8 @@ sub lei_up {
 
 sub _complete_up {
        my ($lei, @argv) = @_;
-       my ($cur, $re) = $lei->complete_url_common(\@argv);
-       grep(/\A$re\Q$cur/, PublicInbox::LeiSavedSearch::list($lei));
+       my $match_cb = $lei->complete_url_prepare(\@argv);
+       map { $match_cb->($_) } PublicInbox::LeiSavedSearch::list($lei);
 }
 
 1;