completion/pip: simplify code flow

Short-circuit the loader rather than indenting nearly the whole file.

ALSÖ, assign the `_pip_completion()` handler directly once it's loaded so that we get out of the way once we load it.
pull/1964/head
John D Pell 2021-09-23 22:21:02 -07:00
parent d6c4c0cc88
commit b897c7d3ce
2 changed files with 24 additions and 22 deletions

View File

@ -6,14 +6,15 @@
# If the pip package is installed within virtual environments, say, python managed by pyenv,
# you should first initialize the corresponding environment.
# So that pip is in the system's path.
if _command_exists pip; then
function __bash_it_complete_pip() {
_command_exists pip || return
function __bash_it_complete_pip() {
if _command_exists _pip_completion; then
complete -o default -F _pip_completion pip
_pip_completion "$@"
else
eval "$(pip completion --bash)"
_pip_completion "$@"
fi
}
complete -o default -F __bash_it_complete_pip pip
fi
}
complete -o default -F __bash_it_complete_pip pip

View File

@ -6,14 +6,15 @@
# If the pip package is installed within virtual environments, say, python managed by pyenv,
# you should first initialize the corresponding environment.
# So that pip3 is in the system's path.
if _command_exists pip3; then
function __bash_it_complete_pip3() {
_command_exists pip3 || return
function __bash_it_complete_pip3() {
if _command_exists _pip_completion; then
complete -o default -F _pip_completion pip3
_pip_completion "$@"
else
eval "$(pip3 completion --bash)"
_pip_completion "$@"
fi
}
complete -o default -F __bash_it_complete_pip3 pip3
fi
}
complete -o default -F __bash_it_complete_pip3 pip3