]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/LeiForgetSearch.pm
lei forget-search: new command to forget saved searches
[public-inbox.git] / lib / PublicInbox / LeiForgetSearch.pm
diff --git a/lib/PublicInbox/LeiForgetSearch.pm b/lib/PublicInbox/LeiForgetSearch.pm
new file mode 100644 (file)
index 0000000..b5fe5fb
--- /dev/null
@@ -0,0 +1,32 @@
+# Copyright (C) 2021 all contributors <meta@public-inbox.org>
+# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
+
+# "lei forget-search" forget/remove a saved search "lei q --save"
+package PublicInbox::LeiForgetSearch;
+use strict;
+use v5.10.1;
+use PublicInbox::LeiSavedSearch;
+use PublicInbox::LeiUp;
+use File::Path ();
+use SelectSaver;
+
+sub lei_forget_search {
+       my ($lei, $out) = @_;
+       my $d = PublicInbox::LeiSavedSearch::lss_dir_for($lei, \$out);
+       if (-e $d) {
+               my $save;
+               my $opt = { safe => 1 };
+               if ($lei->{opt}->{verbose}) {
+                       $opt->{verbose} = 1;
+                       $save = SelectSaver->new($lei->{2});
+               }
+               File::Path::remove_tree($d, $opt);
+       } else {
+               $lei->fail("--save was not used with $out cwd=".
+                                       $lei->rel2abs('.'));
+       }
+}
+
+*_complete_forget_search = \&PublicInbox::LeiUp::_complete_up;
+
+1;