-# Bash completion for notmutch
+# Bash completion for notmuch
#
# Copyright © 2009 Carl Worth
#
#
# new
#
-# search <search-term> [...]
+# search [options] <search-term> [...]
#
-# show <thread-id>
+# show <search-terms>
+#
+# reply <search-terms>
+#
+# tag +<tag>|-<tag> [...] [--] <search-terms> [...]
#
# dump [<filename>]
#
# restore <filename>
+#
+# help [<command>]
_notmuch()
{
- current="$2"
+ local current previous commands help_options
- commands="help setup new search show dump restore"
+ 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=()
- if [ "$COMP_CWORD" = "1" ]; then
- COMPREPLY=( $(compgen -W "${commands}" -- ${current}) )
- fi
+ 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