[notmuch] [PATCH 1/2] zsh: Initial zsh-completion for notmuch
Excerpts from Carl Worth's message of Thu Nov 19 01:51:51 +0100 2009: > On Wed, 18 Nov 2009 23:50:40 +0100, Ingmar Vanhassel > wrote: > > Signed-off-by: Ingmar Vanhassel > > --- > > _notmuch | 74 > > ++ > > 1 files changed, 74 insertions(+), 0 deletions(-) > > create mode 100644 _notmuch > > Looks nice. Could you also add a Makefile.local target to install this > in the right place so that it actually does something? Sure, any suggestions on the name? Or did you mean to add it to the install target? > And I'd like it to have a more descriptive name in the source tree (such > as notmuch-completion.zsh). Alright, will do. I just named it what it'll be installed as, but either works. > Thanks, > > -Carl -- Exherbo KDE, X.org maintainer
[notmuch] [PATCH 1/2] zsh: Initial zsh-completion for notmuch
On Wed, 18 Nov 2009 23:50:40 +0100, Ingmar Vanhassel wrote: > Signed-off-by: Ingmar Vanhassel > --- > _notmuch | 74 > ++ > 1 files changed, 74 insertions(+), 0 deletions(-) > create mode 100644 _notmuch Looks nice. Could you also add a Makefile.local target to install this in the right place so that it actually does something? And I'd like it to have a more descriptive name in the source tree (such as notmuch-completion.zsh). Thanks, -Carl
[notmuch] [PATCH 1/2] zsh: Initial zsh-completion for notmuch
Signed-off-by: Ingmar Vanhassel --- _notmuch | 74 ++ 1 files changed, 74 insertions(+), 0 deletions(-) create mode 100644 _notmuch diff --git a/_notmuch b/_notmuch new file mode 100644 index 000..00c9248 --- /dev/null +++ b/_notmuch @@ -0,0 +1,74 @@ +#compdef notmuch + +# ZSH completion for `notmuch` +# Copyright 2009 Ingmar Vanhassel + +_notmuch_commands() +{ + local -a notmuch_commands + notmuch_commands=( +'setup:interactively set up notmuch for first use' +'new:find and import any new message to the database' +'search:search for messages matching the search terms, display matching threads as results' +'reply:constructs a reply template for a set of messages' +'show:show all messages matching the search terms' +'tag:add or remove tags for all messages matching the search terms' +'dump:creates a plain-text dump of the tags of each message' +'restore:restores the tags from the given file' +'help:show details on a command' + ) + + _describe -t command 'command' notmuch_commands +} + +_notmuch_dump() +{ + _files +} + +_notmuch_help_topics() +{ + local -a notmuch_help_topics + notmuch_help_topics=( +'search-terms:show common search-terms syntax' + ) + _describe -t notmuch-help-topics 'topic' notmuch_help_topics +} + +_notmuch_help() +{ + _alternative \ +_notmuch_commands \ +_notmuch_help_topics +} + +_notmuch_restore() +{ + _files +} + +_notmuch_search() +{ + _arguments -s : \ +'--max-threads=[display only the first x threads from the search results]:number of threads to show: ' \ +'--first=[omit the first x threads from the search results]:number of threads to omit: ' \ +'--sort=[sort results]:sorting:((newest-first\:"reverse chronological order" oldest-first\:"chronological order"))' +} + +_notmuch() +{ + if (( CURRENT > 2 )) ; then +local cmd=${words[2]} +curcontext="${curcontext%:*:*}:notmuch-$cmd" +(( CURRENT-- )) +shift words +_call_function ret _notmuch_$cmd +return ret + else +_notmuch_commands + fi +} + +_notmuch "$@" + +# vim: set sw=2 sts=2 ts=2 et ft=zsh : -- 1.6.5.2.433.g23cdb