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://git.ipfire.org/?a=commitdiff_plain;h=089c81f12fb8f7225103d661f2ec9073b0fea8f9;p=thirdparty%2Fpublic-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 a2f8ffe73..f5e42869e 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 66db28a9c..0ddf47a69 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;