Hi all, this patch series is continuation of address output patches [1] and applies on current master. It is based on Jani's idea to have new command "notmuch address", but share the implementation with search [2]. I tried to do it in a bit more cleaner way than Jani's RFC. In particular I wanted each command to process command line independently and only share search functions. Don't be scared by the number of patches. Most of them are trivial refactoring. Patches 1-4 refactor the code so that it is easier to split. Patch 5 is Jani's hierarchical command line parsing patch. Patch 6 splits search functionality to new address command. Patch 7 is minor refactoring. Patches 8-10 correspond to patches 5-7 in [1]. All patches pass the test suite. Regards, -Michal [1] id:1414792441-29555-1-git-send-email-sojkam1@fel.cvut.cz [2] id:cover.1414839970.git.jani@nikula.org Jani Nikula (1): cli: add support for hierarchical command line option arrays Michal Sojka (9): cli: search: Rename options to context cli: search: Move more variables into search_context_t cli: search: Convert ctx. to ctx-> cli: search: Split notmuch_search_command to smaller functions cli: Introduce "notmuch address" command cli: search: Convert --output to keyword argument cli: address: Do not output duplicate addresses cli: address: Add --output=count cli: address: Add --filter-by option to configure address filtering command-line-arguments.c | 14 +- command-line-arguments.h | 1 + completion/notmuch-completion.bash | 48 +++- completion/notmuch-completion.zsh | 11 +- doc/man1/notmuch-address.rst | 140 ++++++++++++ doc/man1/notmuch-search.rst | 21 +- doc/man1/notmuch.rst | 7 +- notmuch-client.h | 3 + notmuch-search.c | 440 ++++++++++++++++++++++++++----------- notmuch.c | 2 + test/T095-address.sh | 148 +++++++++++++ test/T097-address-filter-by.sh | 73 ++++++ 12 files changed, 743 insertions(+), 165 deletions(-) create mode 100644 doc/man1/notmuch-address.rst create mode 100755 test/T095-address.sh create mode 100755 test/T097-address-filter-by.sh -- 2.1.1