oh-my-zsh/plugins/aws/aws.plugin.zsh
T0mK0 9d6b6c5ce1 speed up chruby plugin by eliminating(as much as possible) calls to brew (#6080)
* speed up chruby plugin by eliminating(as much as possible) calls to brew

* speed up aws plugin by eliminating(as much as possible) calls to brew
2017-11-07 08:03:54 -08:00

53 lines
1.3 KiB
Bash

_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
}
export AWS_HOME=~/.aws
function agp {
echo $AWS_DEFAULT_PROFILE
}
function asp {
local rprompt=${RPROMPT/<aws:$(agp)>/}
export AWS_DEFAULT_PROFILE=$1
export AWS_PROFILE=$1
export RPROMPT="<aws:$AWS_DEFAULT_PROFILE>$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
else
_aws_zsh_completer_path=$(which aws_zsh_completer.sh)
fi
[ -x $_aws_zsh_completer_path ] && source $_aws_zsh_completer_path
unset _aws_zsh_completer_path