From 43947e2cbc247634e9129bd193a0a08a7e0d316e Mon Sep 17 00:00:00 2001 From: John D Pell Date: Mon, 26 Jul 2021 13:04:53 -0700 Subject: [PATCH] completion/system: prefer direct invocation Instead of using the profile.d version, just invoke the script. The profile.d script preemptively short-circuits if it thinks that bash-completions has already been loaded, which it does by using the $BASH_COMPLETION variable, which is expressly supported by upstream to specify the location of the script...so it will entirely be never loaded if this is set. --- completion/available/system.completion.bash | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) mode change 100644 => 100755 completion/available/system.completion.bash diff --git a/completion/available/system.completion.bash b/completion/available/system.completion.bash old mode 100644 new mode 100755 index 8c4f71dc..2fe9b210 --- a/completion/available/system.completion.bash +++ b/completion/available/system.completion.bash @@ -14,12 +14,12 @@ elif [[ -r /etc/profile.d/bash_completion.sh ]] ; then fi -if [[ "$(uname -s)" == 'Darwin' ]] && _command_exists brew ; then +if [[ $OSTYPE == 'darwin'* ]] && _command_exists brew ; then BREW_PREFIX=${BREW_PREFIX:-$(brew --prefix)} # homebrew/versions/bash-completion2 (required for projects.completion.bash) is installed to this path - if [[ -r "$BREW_PREFIX"/etc/profile.d/bash_completion.sh ]] ; then + if [[ -r "$BREW_PREFIX"/etc/bash_completion ]] ; then # shellcheck disable=SC1090 - source "$BREW_PREFIX"/etc/profile.d/bash_completion.sh + source "$BREW_PREFIX"/etc/bash_completion fi fi