X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FLeiImport.pm;fp=lib%2FPublicInbox%2FLeiImport.pm;h=397292d4c7878e4192aa5766a2fa7188166352bd;hb=8b91bd5f929bf166ee3a79dec43fba0e68b1dc8e;hp=3c30db8d2b1f093f24701dda6d13de7cacdc8027;hpb=1ed1a566c7d300ab8afb604b2e7c939299318005;p=public-inbox.git diff --git a/lib/PublicInbox/LeiImport.pm b/lib/PublicInbox/LeiImport.pm index 3c30db8d..397292d4 100644 --- a/lib/PublicInbox/LeiImport.pm +++ b/lib/PublicInbox/LeiImport.pm @@ -121,12 +121,14 @@ sub lei_import { # the main "lei import" method sub _complete_import { my ($lei, @argv) = @_; - my $match_cb = $lei->complete_url_prepare(\@argv); - my @m = map { $match_cb->($_) } $lei->url_folder_cache->keys; - my %f = map { $_ => 1 } @m; + my ($re, $cur, $match_cb) = $lei->complete_url_prepare(\@argv); + my @k = $lei->url_folder_cache->keys($argv[-1], 1); + my @m = map { $match_cb->($_) } @k; + my %f = map { $_ => 1 } (@m ? @m : @k); if (my $lms = $lei->lms) { - @m = map { $match_cb->($_) } $lms->folders; - @f{@m} = @m; + @k = $lms->folders($argv[-1], 1); + @m = map { $match_cb->($_) } @k; + if (@m) { @f{@m} = @m } else { @f{@k} = @k } } keys %f; }