|
|
|
|
@ -1,32 +1,9 @@ |
|
|
|
|
_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 |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function agp { |
|
|
|
|
echo $AWS_PROFILE |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function asp { |
|
|
|
|
local rprompt=${RPROMPT/<aws:$(agp)>/} |
|
|
|
|
local rprompt=${RPROMPT/<aws:$AWS_PROFILE>/} |
|
|
|
|
|
|
|
|
|
export AWS_DEFAULT_PROFILE=$1 |
|
|
|
|
export AWS_PROFILE=$1 |
|
|
|
|
@ -39,11 +16,32 @@ function aws_profiles { |
|
|
|
|
} |
|
|
|
|
compctl -K aws_profiles asp |
|
|
|
|
|
|
|
|
|
if which aws_zsh_completer.sh &>/dev/null; then |
|
|
|
|
_aws_zsh_completer_path=$(which aws_zsh_completer.sh 2>/dev/null) |
|
|
|
|
elif _homebrew-installed && _awscli-homebrew-installed; then |
|
|
|
|
|
|
|
|
|
# Load awscli completions |
|
|
|
|
|
|
|
|
|
_awscli-homebrew-installed() { |
|
|
|
|
# check if Homebrew is installed |
|
|
|
|
(( $+commands[brew] )) || return 1 |
|
|
|
|
|
|
|
|
|
# speculatively check default brew prefix |
|
|
|
|
if [ -h /usr/local/opt/awscli ]; then |
|
|
|
|
_brew_prefix=/usr/local/opt/awscli |
|
|
|
|
else |
|
|
|
|
# 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 |
|
|
|
|
_brew_prefix=$(brew --prefix awscli) |
|
|
|
|
fi |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# get aws_zsh_completer.sh location from $PATH |
|
|
|
|
_aws_zsh_completer_path="$commands[aws_zsh_completer.sh]" |
|
|
|
|
|
|
|
|
|
# otherwise check if installed via Homebrew |
|
|
|
|
if [[ -z $_aws_zsh_completer_path ]] && _awscli-homebrew-installed; then |
|
|
|
|
_aws_zsh_completer_path=$_brew_prefix/libexec/bin/aws_zsh_completer.sh |
|
|
|
|
else |
|
|
|
|
_aws_zsh_completer_path=/usr/share/zsh/site-functions/aws_zsh_completer.sh |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
[ -n "$_aws_zsh_completer_path" ] && [ -x $_aws_zsh_completer_path ] && source $_aws_zsh_completer_path |
|
|
|
|
unset _aws_zsh_completer_path |
|
|
|
|
[[ -r $_aws_zsh_completer_path ]] && source $_aws_zsh_completer_path |
|
|
|
|
unset _aws_zsh_completer_path _brew_prefix |
|
|
|
|
|