cli: notmuch address option defaults update

When no --output option were given, change default to display senders
only.

When only --count option is given, display senders (in contrary to not
displaying anything).

Document that --count with --sort=**order** is not supported option
combination.

Clean up some whitespace in the documentation.

One test updated to have --output=count without sender nor recipient
output option.
This commit is contained in:
Tomi Ollila 2014-11-07 20:31:50 +02:00 committed by David Bremner
parent 8e3ee13abc
commit 0d8251dbe2
3 changed files with 25 additions and 25 deletions

View file

@ -32,28 +32,28 @@ Supported options for **address** include
``--output=(sender|recipients|count)``
Controls which information appears in the output. This option
can be given multiple times to combine different outputs.
Omitting this option is equivalent to
--output=sender --output=recipients.
can be given multiple times to combine different outputs.
When neither --output=sender nor --output=recipients is
given, --output=sender is implied.
**sender**
**sender**
Output all addresses from the *From* header.
Note: Searching for **sender** should be much faster than
searching for **recipients**, because sender addresses are
cached directly in the database whereas other addresses
need to be fetched from message files.
Note: Searching for **sender** should be much faster than
searching for **recipients**, because sender addresses are
cached directly in the database whereas other addresses
need to be fetched from message files.
**recipients**
**recipients**
Output all addresses from the *To*, *Cc* and *Bcc*
headers.
**count**
Print the count of how many times was the address
encountered during search.
**count**
Print the count of how many times was the address
encountered during search.
Note: With this option, addresses are printed only after
the whole search is finished. This may take long time.
Note: With this option, addresses are printed only after
the whole search is finished. This may take long time.
``--sort=``\ (**newest-first**\ \|\ **oldest-first**)
This option can be used to present results in either
@ -63,7 +63,7 @@ Supported options for **address** include
By default, results will be displayed in reverse chronological
order, (that is, the newest results will be displayed first).
This option has no effect when used with --output=count.
This option is not supported with --output=count.
``--exclude=(true|false)``
A message is called "excluded" if it matches at least one tag in
@ -95,4 +95,4 @@ SEE ALSO
**notmuch-dump(1)**, **notmuch-hooks(5)**, **notmuch-insert(1)**,
**notmuch-new(1)**, **notmuch-reply(1)**, **notmuch-restore(1)**,
**notmuch-search-terms(7)**, **notmuch-show(1)**, **notmuch-tag(1)**,
***notmuch-search(1)**
**notmuch-search(1)**

View file

@ -735,8 +735,8 @@ notmuch_address_command (notmuch_config_t *config, int argc, char *argv[])
if (opt_index < 0)
return EXIT_FAILURE;
if (! ctx->output)
ctx->output = OUTPUT_SENDER | OUTPUT_RECIPIENTS;
if (! (ctx->output & (OUTPUT_SENDER | OUTPUT_RECIPIENTS)))
ctx->output |= OUTPUT_SENDER;
if (_notmuch_search_prepare (ctx, config,
argc - opt_index, argv + opt_index))

View file

@ -27,6 +27,11 @@ Mikhail Gusarov <dottedmag@dottedmag.net>
EOF
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "without --output"
notmuch address '*' >OUTPUT
# Use EXPECTED from previous subtest
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "--output=sender --format=json"
notmuch address --output=sender --format=json '*' >OUTPUT
cat <<EOF >EXPECTED
@ -91,11 +96,6 @@ Mikhail Gusarov <dottedmag@dottedmag.net>
EOF
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "without --output"
notmuch address '*' >OUTPUT
# Use EXPECTED from previous subtest
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "--output=sender --output=count"
notmuch address --output=sender --output=count '*' | sort -n >OUTPUT
cat <<EOF >EXPECTED
@ -119,10 +119,10 @@ cat <<EOF >EXPECTED
EOF
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "--output=sender --output=count --format=json"
test_begin_subtest "--output=count --format=json"
# Since the iteration order of GHashTable is not specified, we
# preprocess and sort the results to keep the order stable here.
notmuch address --output=sender --output=count --format=json '*' | \
notmuch address --output=count --format=json '*' | \
sed -e 's/^\[//' -e 's/]$//' -e 's/,$//' | sort >OUTPUT
cat <<EOF >EXPECTED
{"name": "Adrian Perez de Castro", "address": "aperez@igalia.com", "name-addr": "Adrian Perez de Castro <aperez@igalia.com>", "count": 1}