completion: fail silently if _init_completion is not found
authorJani Nikula <jani@nikula.org>
Mon, 18 Aug 2014 16:33:21 +0000 (19:33 +0300)
committerDavid Bremner <david@tethera.net>
Sat, 23 Aug 2014 00:02:41 +0000 (17:02 -0700)
The completion script depends on bash-completion 1.90 or later, with
_init_completion function. If that's not present, for some reason, the
completion currently fails with an ugly message, messing up user's
command line:

$ notmuch -bash: _init_completion: command not found

It's better to just not complete

completion/notmuch-completion.bash

index d88c5e7d965e96b191040fd982b71d170a8b7f71..0571dc9da8e332b3fa3c24ab27e9fa61a3c637f4 100644 (file)
@@ -395,6 +395,10 @@ _notmuch()
 {
     local _notmuch_commands="compact config count dump help insert new reply restore search setup show tag"
     local arg cur prev words cword split
+
+    # require bash-completion with _init_completion
+    type -t _init_completion >/dev/null 2>&1 || return
+
     _init_completion || return
 
     COMPREPLY=()