about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-06-12 00:10:44 +0000
committerEric Wong <e@80x24.org>2021-06-13 17:39:37 +0000
commitd00c4b6d395259ed35900bf52dffc2db3a436c6a (patch)
tree3c775b9ecbd2d2e469f57c126acd99e8d544162e /lib
parenta1c3b896f2a31f1861221f656987fcff6d357002 (diff)
downloadpublic-inbox-d00c4b6d395259ed35900bf52dffc2db3a436c6a.tar.gz
And fix "lei index" completion while we're at it.
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/LeiImport.pm11
-rw-r--r--lib/PublicInbox/LeiIndex.pm2
2 files changed, 9 insertions, 4 deletions
diff --git a/lib/PublicInbox/LeiImport.pm b/lib/PublicInbox/LeiImport.pm
index 08794f71..7580e37e 100644
--- a/lib/PublicInbox/LeiImport.pm
+++ b/lib/PublicInbox/LeiImport.pm
@@ -118,10 +118,15 @@ sub lei_import { # the main "lei import" method
 
 sub _complete_import {
         my ($lei, @argv) = @_;
-        my $sto = $lei->_lei_store or return;
-        my $lms = $sto->search->lms or return;
         my $match_cb = $lei->complete_url_prepare(\@argv);
-        map { $match_cb->($_) } $lms->folders;
+        my @m = map { $match_cb->($_) } $lei->url_folder_cache->keys;
+        my %f = map { $_ => 1 } @m;
+        my $sto = $lei->_lei_store;
+        if (my $lms = $sto ? $sto->search->lms : undef) {
+                @m = map { $match_cb->($_) } $lms->folders;
+                @f{@m} = @m;
+        }
+        keys %f;
 }
 
 no warnings 'once';
diff --git a/lib/PublicInbox/LeiIndex.pm b/lib/PublicInbox/LeiIndex.pm
index 4be0c649..5b545998 100644
--- a/lib/PublicInbox/LeiIndex.pm
+++ b/lib/PublicInbox/LeiIndex.pm
@@ -39,7 +39,7 @@ for my $m (qw(pmdir_cb input_net_cb)) {
         *$m = PublicInbox::LeiImport->can($m);
 }
 
-*_complete_import = \&PublicInbox::LeiImport::_complete_import;
+*_complete_index = \&PublicInbox::LeiImport::_complete_import;
 *ipc_atfork_child = \&PublicInbox::LeiInput::input_only_atfork_child;
 *net_merge_all_done = \&PublicInbox::LeiInput::input_only_net_merge_all_done;