]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-completion.bash
Add a .desktop file entry.
[notmuch] / notmuch-completion.bash
index b4335fdf31fc93cc54d62179220352d5020c27b6..03412117bb1c6240c0d7c7fe8b481341d8146c8e 100644 (file)
 
 _notmuch()
 {
 
 _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"
     help_options="setup new search show reply tag dump restore search-terms"
+    search_options="--max-threads= --first= --sort=oldest-first --sort=newest-first"
 
     COMPREPLY=()
 
     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
 complete -o default -o bashdefault -F _notmuch notmuch