$json->pretty(1)->indent(2) if $isatty || $lei->{opt}->{pretty};
}
$lei->start_pager if $isatty;
- my $ops = {};
- $lei->{auth}->op_merge($ops, $self);
- (my $op_c, $ops) = $lei->workers_start($self, 1, $ops);
- $lei->{wq1} = $self;
$lei->{-err_type} = 'non-fatal';
- net_merge_all_done($self) unless $lei->{auth};
- $lei->wait_wq_events($op_c, $ops); # net_merge_all_done if !{auth}
+ $lei->wq1_start($self);
}
sub _complete_ls_mail_source {
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 @k = $lei->url_folder_cache->keys($argv[-1] // undef, 1);
+ my @m = map { $match_cb->($_) } @k;
+ my %f = map { $_ => 1 } (@m ? @m : @k);
if (my $lms = $lei->lms) {
- @m = map { $match_cb->($_) } grep(
- m!\A(?:imaps?|nntps?|s?news)://!, $lms->folders);
- @f{@m} = @m;
+ @k = $lms->folders($argv[-1] // undef, 1);
+ @m = map { $match_cb->($_) } grep(m!\A[a-z]+://!, @k);
+ if (@m) { @f{@m} = @m } else { @f{@k} = @k }
}
keys %f;
}