]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-completion.bash
Add a .desktop file entry.
[notmuch] / notmuch-completion.bash
index 868e9cde9d7a3756a61750a83836954b9387f04f..03412117bb1c6240c0d7c7fe8b481341d8146c8e 100644 (file)
@@ -1,4 +1,4 @@
-# Bash completion for notmutch
+# Bash completion for notmuch
 #
 # Copyright © 2009 Carl Worth
 #
 
 _notmuch()
 {
-    current="$2"
+    local current previous commands help_options
 
-    commands="setup new search show reply tag dump restore help"
+    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=oldest-first --sort=newest-first"
 
     COMPREPLY=()
-    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-    if [ "$COMP_CWORD" = "1" ]; then
-       COMPREPLY=( $(compgen -W "${commands}" -- ${current}) )
-    fi
-
-    if [ $prev = "help" ] && [ "$COMP_CWORD" = "2" ]; then
-       COMPREPLY=( $(compgen -W "${help_options}" -- ${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