aboutsummaryrefslogtreecommitdiffhomepage
path: root/completion/notmuch-completion.bash
diff options
context:
space:
mode:
authorGravatar Carl Worth <cworth@cworth.org>2010-04-06 10:48:21 -0700
committerGravatar Carl Worth <cworth@cworth.org>2010-04-06 14:36:31 -0700
commite1a84ab1733c78fce8afeef8f022122988fc8a10 (patch)
tree8169b1020e2a6748eababe0494d0077feb76c811 /completion/notmuch-completion.bash
parentf23b233e3ad7217c207ff2d4b223d729f4002330 (diff)
Rename the "contrib" directory to "completion".
The original "contrib" name is lousy. Everything in notmuch has been contributed, and we are integrating as much of it as possible, (rather than making users grub through contrib looking for useful pieces to install). Meanwhile, the only things we have in contrib are command-line completion scripts, so "completion" makes more sense as a name, (and helps make "./configure" slightly less ambiguous).
Diffstat (limited to 'completion/notmuch-completion.bash')
-rw-r--r--completion/notmuch-completion.bash71
1 files changed, 71 insertions, 0 deletions
diff --git a/completion/notmuch-completion.bash b/completion/notmuch-completion.bash
new file mode 100644
index 00000000..8665268c
--- /dev/null
+++ b/completion/notmuch-completion.bash
@@ -0,0 +1,71 @@
+# Bash completion for notmuch
+#
+# Copyright © 2009 Carl Worth
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see http://www.gnu.org/licenses/ .
+#
+# Author: Carl Worth <cworth@cworth.org>
+#
+# Based on "notmuch help" as follows:
+#
+# Usage: notmuch <command> [args...]
+#
+# Where <command> and [args...] are as follows:
+#
+# setup
+#
+# new
+#
+# search [options] <search-term> [...]
+#
+# show <search-terms>
+#
+# reply <search-terms>
+#
+# tag +<tag>|-<tag> [...] [--] <search-terms> [...]
+#
+# dump [<filename>]
+#
+# restore <filename>
+#
+# help [<command>]
+
+_notmuch()
+{
+ local current previous commands help_options
+
+ previous=${COMP_WORDS[COMP_CWORD-1]}
+ current="${COMP_WORDS[COMP_CWORD]}"
+
+ commands="setup new search show reply tag dump restore help"
+ help_options="setup new search show reply tag dump restore search-terms"
+ search_options="--max-threads= --first= --sort="
+
+ COMPREPLY=()
+
+ case $COMP_CWORD in
+ 1)
+ COMPREPLY=( $(compgen -W "${commands}" -- ${current}) ) ;;
+ 2)
+ case $previous in
+ help)
+ COMPREPLY=( $(compgen -W "${help_options}" -- ${current}) ) ;;
+ search)
+ COMPREPLY=( $(compgen -W "${search_options}" -- ${current}) ) ;;
+ esac
+ ;;
+ esac
+}
+
+complete -o default -o bashdefault -F _notmuch notmuch