summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--Completion/Unix/Command/_notmuch69
2 files changed, 75 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 29d078d78..ecd5702cf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-01-24 Clint Adams <clint@zsh.org>
+
+ * Carl Worth: 28648: Completion/Unix/Command/_notmuch: notmuch
+ completion by Ingmar Vanhassel.
+
2011-01-23 Peter Stephenson <p.w.stephenson@ntlworld.com>
* gi1242+zsh@gmail.com: 28647: Completion/X/Command/_vnc: more
@@ -14161,5 +14166,5 @@
*****************************************************
* This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.5190 $
+* $Revision: 1.5191 $
*****************************************************
diff --git a/Completion/Unix/Command/_notmuch b/Completion/Unix/Command/_notmuch
new file mode 100644
index 000000000..0c23aa5f6
--- /dev/null
+++ b/Completion/Unix/Command/_notmuch
@@ -0,0 +1,69 @@
+#compdef notmuch
+
+_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 "$@"