fix(azure): load completion properly for brew (#11499)

Closes #11497
This commit is contained in:
Carlo Sala 2023-02-23 23:00:31 +01:00 committed by GitHub
parent b54ef89fab
commit 8a008e1f51
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -32,12 +32,14 @@ function _az-homebrew-installed() {
(( $+commands[brew] )) || return 1 (( $+commands[brew] )) || return 1
# speculatively check default brew prefix # speculatively check default brew prefix
if [ -h /usr/local/opt/az ]; then if [[ -d /usr/local ]]; then
_brew_prefix=/usr/local/opt/az _brew_prefix=/usr/local
elif [[ -d /opt/homebrew ]]; then
_brew_prefix=/opt/homebrew
else else
# ok, it is not in the default prefix # ok, it is not in the default prefix
# this call to brew is expensive (about 400 ms), so at least let's make it only once # this call to brew is expensive (about 400 ms), so at least let's make it only once
_brew_prefix=$(brew --prefix azure-cli) _brew_prefix=$(brew --prefix)
fi fi
} }
@ -49,12 +51,12 @@ _az_zsh_completer_path="$commands[az_zsh_completer.sh]"
if [[ -z $_az_zsh_completer_path ]]; then if [[ -z $_az_zsh_completer_path ]]; then
# Homebrew # Homebrew
if _az-homebrew-installed; then if _az-homebrew-installed; then
_az_zsh_completer_path=$_brew_prefix/libexec/bin/az.completion.sh _az_zsh_completer_path=$_brew_prefix/etc/bash_completion.d/az
# Linux # Linux
else else
_az_zsh_completer_path=/etc/bash_completion.d/azure-cli _az_zsh_completer_path=/etc/bash_completion.d/azure-cli
fi fi
fi fi
[[ -r $_az_zsh_completer_path ]] && source $_az_zsh_completer_path [[ -r $_az_zsh_completer_path ]] && autoload -U +X bashcompinit && bashcompinit && source $_az_zsh_completer_path
unset _az_zsh_completer_path _brew_prefix unset _az_zsh_completer_path _brew_prefix