completion: complete notmuch emacs-mua
authorJani Nikula <jani@nikula.org>
Sat, 25 Feb 2017 09:25:39 +0000 (11:25 +0200)
committerDavid Bremner <david@tethera.net>
Wed, 1 Mar 2017 23:33:33 +0000 (19:33 -0400)
With subcommand handling for external commands we can easily complete
'notmuch emacs-mua' using the existing completion system.

completion/notmuch-completion.bash

index 7cad047f8499b083640c8a968551c09e9246c094..e4e4b36bccf723ead969dd8c48bb01cccfc96682 100644 (file)
@@ -240,6 +240,38 @@ _notmuch_dump()
     esac
 }
 
+_notmuch_emacs_mua()
+{
+    local cur prev words cword split
+    _init_completion -s || return
+
+    $split &&
+    case "${prev}" in
+       --to|--cc|--bcc)
+           COMPREPLY=( $(compgen -W "`_notmuch_email to:${cur}`" -- ${cur}) )
+           return
+           ;;
+       --body)
+           _filedir
+           return
+           ;;
+    esac
+
+    ! $split &&
+    case "${cur}" in
+        -*)
+           local options="--subject= --to= --cc= --bcc= --body= --no-window-system --client --auto-daemon --create-frame --print --help --hello"
+
+           compopt -o nospace
+           COMPREPLY=( $(compgen -W "$options" -- ${cur}) )
+           ;;
+       *)
+           COMPREPLY=( $(compgen -W "`_notmuch_email to:${cur}`" -- ${cur}) )
+           return
+           ;;
+    esac
+}
+
 _notmuch_insert()
 {
     local cur prev words cword split
@@ -500,7 +532,7 @@ _notmuch_tag()
 
 _notmuch()
 {
-    local _notmuch_commands="compact config count dump help insert new reply restore search address setup show tag"
+    local _notmuch_commands="compact config count dump help insert new reply restore search address setup show tag emacs-mua"
     local arg cur prev words cword split
 
     # require bash-completion with _init_completion