Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Ohmyzsh
Commits
1ef3d577
Unverified
Commit
1ef3d577
authored
4 years ago
by
Marc Cornellà
Committed by
GitHub
4 years ago
Browse files
Options
Download
Email Patches
Plain Diff
aws: add support for AWS CLI v2 autocompletion (#8670)
Co-authored-by:
Marc Cornellà
<
marc.cornella@live.com
>
parent
2f345a3d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
plugins/aws/aws.plugin.zsh
+36
-30
plugins/aws/aws.plugin.zsh
with
36 additions
and
30 deletions
+36
-30
plugins/aws/aws.plugin.zsh
View file @
1ef3d577
...
...
@@ -62,36 +62,42 @@ fi
# Load awscli completions
function
_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
)
# AWS CLI v2 comes with its own autocompletion. Check if that is there, otherwise fall back
if
[[
-x
/usr/local/bin/aws_completer
]]
;
then
autoload
-Uz
bashcompinit
&&
bashcompinit
complete
-C
aws_completer aws
else
function
_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 common locations
if
[[
-z
$_aws_zsh_completer_path
]]
;
then
# Homebrew
if
_awscli-homebrew-installed
;
then
_aws_zsh_completer_path
=
$_brew_prefix
/libexec/bin/aws_zsh_completer.sh
# Ubuntu
elif
[[
-e
/usr/share/zsh/vendor-completions/_awscli
]]
;
then
_aws_zsh_completer_path
=
/usr/share/zsh/vendor-completions/_awscli
# RPM
else
_aws_zsh_completer_path
=
/usr/share/zsh/site-functions/aws_zsh_completer.sh
fi
fi
}
# get aws_zsh_completer.sh location from $PATH
_aws_zsh_completer_path
=
"
$commands
[aws_zsh_completer.sh]"
# otherwise check common locations
if
[[
-z
$_aws_zsh_completer_path
]]
;
then
# Homebrew
if
_awscli-homebrew-installed
;
then
_aws_zsh_completer_path
=
$_brew_prefix
/libexec/bin/aws_zsh_completer.sh
# Ubuntu
elif
[[
-e
/usr/share/zsh/vendor-completions/_awscli
]]
;
then
_aws_zsh_completer_path
=
/usr/share/zsh/vendor-completions/_awscli
# RPM
else
_aws_zsh_completer_path
=
/usr/share/zsh/site-functions/aws_zsh_completer.sh
fi
[[
-r
$_aws_zsh_completer_path
]]
&&
source
$_aws_zsh_completer_path
unset
_aws_zsh_completer_path _brew_prefix
fi
[[
-r
$_aws_zsh_completer_path
]]
&&
source
$_aws_zsh_completer_path
unset
_aws_zsh_completer_path _brew_prefix
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment