summaryrefslogtreecommitdiff
path: root/plugins/aws
diff options
context:
space:
mode:
authorT0mK0 <T0mK0@users.noreply.github.com>2017-11-07 11:03:54 -0500
committerRobby Russell <robby@planetargon.com>2017-11-07 08:03:54 -0800
commit9d6b6c5ce161280e52df3a33d584318d6dbc0bd9 (patch)
tree5cce654f1b982299c04f41d09b70c3241e5fddd2 /plugins/aws
parent47039f645ffa5e59d1d32aeee8e2cb432035f78a (diff)
downloadzsh-9d6b6c5ce161280e52df3a33d584318d6dbc0bd9.tar.gz
zsh-9d6b6c5ce161280e52df3a33d584318d6dbc0bd9.tar.bz2
zsh-9d6b6c5ce161280e52df3a33d584318d6dbc0bd9.zip
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
Diffstat (limited to 'plugins/aws')
-rw-r--r--plugins/aws/aws.plugin.zsh19
1 files changed, 17 insertions, 2 deletions
diff --git a/plugins/aws/aws.plugin.zsh b/plugins/aws/aws.plugin.zsh
index d31052f83..6a0e04add 100644
--- a/plugins/aws/aws.plugin.zsh
+++ b/plugins/aws/aws.plugin.zsh
@@ -1,9 +1,24 @@
_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() {
- brew list awscli &> /dev/null
+ [ -r $_brew_prefix/libexec/bin/aws_zsh_completer.sh ] &> /dev/null
}
export AWS_HOME=~/.aws
@@ -28,7 +43,7 @@ function aws_profiles {
compctl -K aws_profiles asp
if _homebrew-installed && _awscli-homebrew-installed ; then
- _aws_zsh_completer_path=$(brew --prefix awscli)/libexec/bin/aws_zsh_completer.sh
+ _aws_zsh_completer_path=$_brew_prefix/libexec/bin/aws_zsh_completer.sh
else
_aws_zsh_completer_path=$(which aws_zsh_completer.sh)
fi