From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id A7733431FBF for ; Wed, 18 Nov 2009 14:50:58 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SgJqAi+RQrD7 for ; Wed, 18 Nov 2009 14:50:57 -0800 (PST) X-Greylist: delayed 84428 seconds by postgrey-1.32 at olra; Wed, 18 Nov 2009 14:50:57 PST Received: from bach.exherbo.org (bach.exherbo.org [78.47.197.147]) by olra.theworths.org (Postfix) with ESMTP id A6D2D431FBC for ; Wed, 18 Nov 2009 14:50:57 -0800 (PST) Received: from [83.101.72.69] (helo=localhost) by bach.exherbo.org with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from ) id 1NAtMV-0005Kc-2e; Wed, 18 Nov 2009 22:50:55 +0000 From: Ingmar Vanhassel To: Date: Wed, 18 Nov 2009 23:50:40 +0100 Message-Id: <1258584640-29221-1-git-send-email-ingmar@exherbo.org> X-Mailer: git-send-email 1.6.5.2.433.g23cdb Subject: [PATCH 1/2] zsh: Initial zsh-completion for notmuch X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Nov 2009 22:50:58 -0000 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 0000000..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