_homebrew-installed() { type brew &> /dev/null _xit=$? if [ $_xit -eq 0 ];then # ok , we have brew installed # speculatively we check default brew prefix if [ -h /usr/local/opt/awscli ];then _brew_prefix="/usr/local/opt/awscli" else # ok , it is not default prefix # this call to brew is expensive ( about 400 ms ), so at least let's make it only once _brew_prefix=$(brew --prefix awscli) fi return 0 else return $_xit fi } _awscli-homebrew-installed() { [ -r $_brew_prefix/libexec/bin/aws_zsh_completer.sh ] &> /dev/null } _awscli-rpm-installed() { which rpm &>/dev/null && rpm -q --quiet awscli } export AWS_HOME=~/.aws function agp { echo $AWS_DEFAULT_PROFILE } function asp { local rprompt=${RPROMPT//} export AWS_DEFAULT_PROFILE=$1 export AWS_PROFILE=$1 export RPROMPT="$rprompt" } function aws_profiles { reply=($(grep profile $AWS_HOME/config|sed -e 's/.*profile \([a-zA-Z0-9_-]*\).*/\1/')) } compctl -K aws_profiles asp if _homebrew-installed && _awscli-homebrew-installed ; then _aws_zsh_completer_path=$_brew_prefix/libexec/bin/aws_zsh_completer.sh elif _awscli-rpm-installed; then _aws_zsh_completer_path="/usr/share/zsh/site-functions/aws_zsh_completer.sh" else _aws_zsh_completer_path=$(which aws_zsh_completer.sh) fi [ -r $_aws_zsh_completer_path ] && source $_aws_zsh_completer_path unset _aws_zsh_completer_path