system completion nitpicks
- General cleanup of system completion - Use homebrew's completion loading script instead - Deprecate completions covered by system - Adjust load priority of brew to happen after systempull/1641/head
parent
7dd5b3a67f
commit
f40bfa80f1
|
|
@ -1,13 +1,27 @@
|
||||||
if which brew >/dev/null 2>&1; then
|
#!/usr/bin/env bash
|
||||||
BREW_PREFIX=$(brew --prefix)
|
|
||||||
if [ -f "$BREW_PREFIX"/etc/bash_completion.d/brew ]; then
|
# Load late to make sure `system` completion loads first
|
||||||
. "$BREW_PREFIX"/etc/bash_completion.d/brew
|
# BASH_IT_LOAD_PRIORITY: 375
|
||||||
elif [ -f "$BREW_PREFIX"/Library/Contributions/brew_bash_completion.sh ]; then
|
|
||||||
. "$BREW_PREFIX"/Library/Contributions/brew_bash_completion.sh
|
if [[ "$(uname -s)" != 'Darwin' ]] ; then
|
||||||
elif [ -f "$BREW_PREFIX"/completions/bash/brew ]; then
|
_log_warning "unsupported operating system - only 'Darwin' is supported"
|
||||||
# For the git-clone based installation, see here for more info:
|
return 0
|
||||||
# https://github.com/Bash-it/bash-it/issues/1458
|
fi
|
||||||
# https://docs.brew.sh/Shell-Completion
|
|
||||||
. "$BREW_PREFIX"/completions/bash/brew
|
# Make sure brew is installed
|
||||||
fi
|
_command_exists brew || return 0
|
||||||
|
|
||||||
|
BREW_PREFIX=${BREW_PREFIX:-$(brew --prefix)}
|
||||||
|
|
||||||
|
if [[ -r "$BREW_PREFIX"/etc/bash_completion.d/brew ]] ; then
|
||||||
|
source "$BREW_PREFIX"/etc/bash_completion.d/brew
|
||||||
|
|
||||||
|
elif [[ -r "$BREW_PREFIX"/Library/Contributions/brew_bash_completion.sh ]] ; then
|
||||||
|
source "$BREW_PREFIX"/Library/Contributions/brew_bash_completion.sh
|
||||||
|
|
||||||
|
elif [[ -f "$BREW_PREFIX"/completions/bash/brew ]] ; then
|
||||||
|
# For the git-clone based installation, see here for more info:
|
||||||
|
# https://github.com/Bash-it/bash-it/issues/1458
|
||||||
|
# https://docs.brew.sh/Shell-Completion
|
||||||
|
source "$BREW_PREFIX"/completions/bash/brew
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1 @@
|
||||||
if which crystal >/dev/null 2>&1; then
|
_log_warning 'Bash completion for "crystal" is now covered by "system". This completion can be disabled.'
|
||||||
|
|
||||||
if which brew >/dev/null 2>&1; then
|
|
||||||
BREW_PREFIX=$(brew --prefix)
|
|
||||||
|
|
||||||
if [ -f "$BREW_PREFIX"/etc/bash_completion.d/crystal ]; then
|
|
||||||
. "$BREW_PREFIX"/etc/bash_completion.d/crystal
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,25 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Loads the system's Bash completion modules.
|
# Loads the system's Bash completion modules.
|
||||||
# If Homebrew is installed (OS X), its Bash completion modules are loaded.
|
# If Homebrew is installed (OS X), it's Bash completion modules are loaded.
|
||||||
|
|
||||||
if [ -f /etc/bash_completion ]; then
|
if [[ -r /etc/bash_completion ]] ; then
|
||||||
. /etc/bash_completion
|
# shellcheck disable=SC1091
|
||||||
fi
|
source /etc/bash_completion
|
||||||
|
|
||||||
# Some distribution makes use of a profile.d script to import completion.
|
# Some distribution makes use of a profile.d script to import completion.
|
||||||
if [ -f /etc/profile.d/bash_completion.sh ]; then
|
elif [[ -r /etc/profile.d/bash_completion.sh ]] ; then
|
||||||
. /etc/profile.d/bash_completion.sh
|
# shellcheck disable=SC1091
|
||||||
|
source /etc/profile.d/bash_completion.sh
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "$(uname -s)" == 'Darwin' ]] && _command_exists brew ; then
|
||||||
|
BREW_PREFIX=${BREW_PREFIX:-$(brew --prefix)}
|
||||||
|
|
||||||
if [ $(uname) = "Darwin" ] && command -v brew &>/dev/null ; then
|
# homebrew/versions/bash-completion2 (required for projects.completion.bash) is installed to this path
|
||||||
BREW_PREFIX=$(brew --prefix)
|
if [[ -r "$BREW_PREFIX"/etc/profile.d/bash_completion.sh ]] ; then
|
||||||
|
# shellcheck disable=SC1090
|
||||||
if [ -f "$BREW_PREFIX"/etc/bash_completion ]; then
|
source "$BREW_PREFIX"/etc/profile.d/bash_completion.sh
|
||||||
. "$BREW_PREFIX"/etc/bash_completion
|
|
||||||
fi
|
|
||||||
|
|
||||||
# homebrew/versions/bash-completion2 (required for projects.completion.bash) is installed to this path
|
|
||||||
if [ "${BASH_VERSINFO}" -ge 4 ] && [ -f "$BREW_PREFIX"/share/bash-completion/bash_completion ]; then
|
|
||||||
export BASH_COMPLETION_COMPAT_DIR="$BREW_PREFIX"/etc/bash_completion.d
|
|
||||||
. "$BREW_PREFIX"/share/bash-completion/bash_completion
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -128,8 +128,8 @@ function local_setup {
|
||||||
|
|
||||||
@test "helpers: enable the brew completion" {
|
@test "helpers: enable the brew completion" {
|
||||||
run _enable-completion "brew"
|
run _enable-completion "brew"
|
||||||
assert_line -n 0 'brew enabled with priority 350.'
|
assert_line -n 0 'brew enabled with priority 375.'
|
||||||
assert_link_exist "$BASH_IT/enabled/350---brew.completion.bash"
|
assert_link_exist "$BASH_IT/enabled/375---brew.completion.bash"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "helpers: enable the node plugin" {
|
@test "helpers: enable the node plugin" {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue