Hi all, this is v4 of the search --output=address series. It obsoletes v3 that starts at id:1413150093-8383-1-git-send-email-sojkam1@fel.cvut.cz. It addresses most comments made by Mark Walters and others. In addition to v3, it also implements new --output=count (also suggested by Mark). This required changes even in the initial patches of the series but the result is cleaner code. Detailed changes from v3: - `o' renamed to `opt'. - Conversion of --output from keyword to keyword-flags is now a separate patch. - Structured output formats print name and address separately. - Added test for --format=json. - Changed --filter-by default to nameaddr. In v2, the default was addrfold, in v3 the default was no filtering at all. I believe that Mark's suggestion to make nameaddr the default is good trade off. - Added new --output=count - Minor style fixes - Few typos fixed - There is no way to output unfiltered (duplicite) addresses. Hopefully, the introduction of --output=count is sufficient replacement for this "feature". Cheers, -Michal Jani Nikula (1): cli: Add support for parsing keyword-flag arguments Michal Sojka (5): cli: search: Refactor passing of command line options cli: search: Convert --output to keyword-flag argument cli: search: Add --output={sender,recipients} cli: search: Add configurable way to filter out duplicate addresses cli: search: Add --output=count command-line-arguments.c | 6 +- command-line-arguments.h | 1 + completion/notmuch-completion.bash | 8 +- completion/notmuch-completion.zsh | 4 +- doc/man1/notmuch-search.rst | 65 ++++++- notmuch-search.c | 385 +++++++++++++++++++++++++++++-------- test/T090-search-output.sh | 137 +++++++++++++ test/T095-search-filter-by.sh | 64 ++++++ test/T410-argument-parsing.sh | 3 +- test/arg-test.c | 9 + 10 files changed, 600 insertions(+), 82 deletions(-) create mode 100755 test/T095-search-filter-by.sh -- 2.1.1