With subcommand handling for external commands we can easily complete
'notmuch emacs-mua' using the existing completion system.
---
 completion/notmuch-completion.bash | 34 +++++++++++++++++++++++++++++++++-
 1 file changed, 33 insertions(+), 1 deletion(-)

diff --git a/completion/notmuch-completion.bash 
b/completion/notmuch-completion.bash
index d44b2a2811f0..cbe59e23f772 100644
--- a/completion/notmuch-completion.bash
+++ b/completion/notmuch-completion.bash
@@ -236,6 +236,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"
+
+           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
@@ -496,7 +528,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
-- 
2.1.4

_______________________________________________
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch

Reply via email to