]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/LeiSavedSearch.pm
lei q --save: clobber config file on repeats
[public-inbox.git] / lib / PublicInbox / LeiSavedSearch.pm
index 93b1b23aa3d7110fb5e90eab47df2658f2abdc37..932b2aa4c728d0b758526289b6c7f90f21ff19a8 100644 (file)
@@ -13,6 +13,8 @@ use PublicInbox::Spawn qw(run_die);
 use PublicInbox::ContentHash qw(git_sha);
 use Digest::SHA qw(sha256_hex);
 
+*squote_maybe = \&PublicInbox::Config::squote_maybe;
+
 sub lss_dir_for ($$) {
        my ($lei, $dstref) = @_;
        my @n;
@@ -44,15 +46,19 @@ sub new {
                require File::Path;
                File::Path::make_path($dir); # raises on error
                $self->{-cfg} = {};
-               $self->{'-f'} = "$dir/lei.saved-search";
+               my $f = $self->{'-f'} = "$dir/lei.saved-search";
+               open my $fh, '>', $f or return $lei->fail("open $f: $!");
+               my $sq_dst = squote_maybe($dst);
+               print $fh <<EOM or return $lei->fail("print $f: $!");
+; to refresh with new results, run: lei up $sq_dst
+EOM
+               close $fh or return $lei->fail("close $f: $!");
                my $q = $lei->{mset_opt}->{q_raw} // die 'BUG: {q_raw} missing';
                if (ref $q) {
                        cfg_set($self, '--add', 'lei.q', $_) for @$q;
                } else {
                        cfg_set($self, 'lei.q', $q);
                }
-               my $fmt = $lei->{opt}->{'format'};
-               cfg_set($self, 'lei.q.format', $fmt) if defined $fmt;
                $dst = "$lei->{ovv}->{fmt}:$dst" if $dst !~ m!\Aimaps?://!i;
                cfg_set($self, 'lei.q.output', $dst);
                for my $k (qw(only include exclude)) {