From: Eric Wong Date: Sun, 28 Feb 2021 12:25:27 +0000 (+0600) Subject: lei q: fix "-" shortcut for --stdin X-Git-Tag: v1.7.0~1047 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=089c81f12fb8f7225103d661f2ec9073b0fea8f9;p=public-inbox.git lei q: fix "-" shortcut for --stdin 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|-. --- 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;