completion/system: support $BASH_COMPLETION

Bash-completion supports pre-defining $BASH_COMPLETION as the path to the main script, so use that if it's defined.

Alsö, don't load homebrew's completion if we've successfully loaded one already.
pull/1908/head
John D Pell 2021-07-26 13:09:08 -07:00
parent 43947e2cbc
commit 893c8dbb96
1 changed files with 5 additions and 5 deletions

View File

@ -1,9 +1,11 @@
#!/usr/bin/env bash
#
# Loads the system's Bash completion modules.
# If Homebrew is installed (OS X), it's Bash completion modules are loaded.
if [[ -r /etc/bash_completion ]] ; then
if [[ -r "${BASH_COMPLETION:-}" ]] ; then
source "${BASH_COMPLETION}"
elif [[ -r /etc/bash_completion ]] ; then
# shellcheck disable=SC1091
source /etc/bash_completion
@ -12,9 +14,7 @@ elif [[ -r /etc/profile.d/bash_completion.sh ]] ; then
# shellcheck disable=SC1091
source /etc/profile.d/bash_completion.sh
fi
if [[ $OSTYPE == 'darwin'* ]] && _command_exists brew ; then
elif [[ $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