about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-02-28 18:25:27 +0600
committerEric Wong <e@80x24.org>2021-03-01 05:52:04 +0000
commit089c81f12fb8f7225103d661f2ec9073b0fea8f9 (patch)
treedb4a5af22a1f1b6e648639d9edebde831232bb3c
parent9c55d0015717c198dce748afd97db12eb70586c7 (diff)
downloadpublic-inbox-089c81f12fb8f7225103d661f2ec9073b0fea8f9.tar.gz
Due to the way our option parser handles this special case, it
must be the first option spec.  This helps us document things
better, even, since many command accept either a pathname or
--stdin|-.
-rw-r--r--lib/PublicInbox/LEI.pm7
-rw-r--r--t/lei-q-thread.t3
2 files changed, 6 insertions, 4 deletions
diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm
index a2f8ffe7..f5e42869 100644
--- a/lib/PublicInbox/LEI.pm
+++ b/lib/PublicInbox/LEI.pm
@@ -108,10 +108,11 @@ sub index_opt {
 # see lei__complete() and PublicInbox::LeiHelp
 # command => [ positional_args, 1-line description, Getopt::Long option spec ]
 our %CMD = ( # sorted in order of importance/use:
-'q' => [ '--stdin|SEARCH_TERMS...', 'search for messages matching terms', qw(
-        save-as=s output|mfolder|o=s format|f=s dedupe|d=s threads|t+ augment|a
+'q' => [ '--stdin|SEARCH_TERMS...', 'search for messages matching terms',
+        'stdin|', # /|\z/ must be first for lone dash
+        qw(save-as=s output|mfolder|o=s format|f=s dedupe|d=s threads|t+
         sort|s=s reverse|r offset=i remote! local! external! pretty
-        include|I=s@ exclude=s@ only=s@ jobs|j=s globoff|g stdin|
+        include|I=s@ exclude=s@ only=s@ jobs|j=s globoff|g augment|a
         import-remote! lock=s@
         alert=s@ mua=s no-torsocks torsocks=s verbose|v+ quiet|q C=s@),
         PublicInbox::LeiQuery::curl_opt(), opt_dash('limit|n=i', '[0-9]+') ],
diff --git a/t/lei-q-thread.t b/t/lei-q-thread.t
index 66db28a9..0ddf47a6 100644
--- a/t/lei-q-thread.t
+++ b/t/lei-q-thread.t
@@ -21,7 +21,8 @@ test_lei(sub {
         $buf = PublicInbox::LeiToMail::eml2mboxrd($eml, { kw => ['draft'] });
         lei_ok([qw(import -F mboxrd -)], undef, { 0 => $buf, %$lei_opt });
 
-        lei_ok qw(q -t m:testmessage@example.com);
+        lei_ok([qw(q - -t)], undef,
+                { 0 => \'m:testmessage@example.com', %$lei_opt });
         $res = json_utf8->decode($lei_out);
         is(scalar(@$res), 3, 'got 2 results');
         pop @$res;