summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/aws/README.md25
-rw-r--r--plugins/aws/aws.plugin.zsh20
2 files changed, 36 insertions, 9 deletions
diff --git a/plugins/aws/README.md b/plugins/aws/README.md
index 8a45199b8..57ab1e5ac 100644
--- a/plugins/aws/README.md
+++ b/plugins/aws/README.md
@@ -1,8 +1,7 @@
# aws
This plugin provides completion support for [awscli](https://docs.aws.amazon.com/cli/latest/reference/index.html)
-and a few utilities to manage AWS profiles: a function to change profiles with autocompletion support
-and a function to get the current AWS profile. The current AWS profile is also displayed in `RPROMPT`.
+and a few utilities to manage AWS profiles and display them in the prompt.
To use it, add `aws` to the plugins array in your zshrc file.
@@ -12,9 +11,23 @@ plugins=(... aws)
## Plugin commands
-* `asp <profile>`: Sets `AWS_PROFILE` and `AWS_DEFAULT_PROFILE` (legacy) to `<profile>`.
-It also adds it to your RPROMPT.
+* `asp [<profile>]`: Sets `$AWS_PROFILE` and `$AWS_DEFAULT_PROFILE` (legacy) to `<profile>`.
+ Run `asp` without arguments to clear the profile.
-* `agp`: Gets the current value of `AWS_PROFILE`.
+* `agp`: Gets the current value of `$AWS_PROFILE`.
-* `aws_profiles`: Lists the available profiles in the file referenced in `AWS_CONFIG_FILE` (default: ~/.aws/config). Used to provide completion for the `asp` function.
+* `aws_profiles`: Lists the available profiles in the `$AWS_CONFIG_FILE` (default: `~/.aws/config`).
+ Used to provide completion for the `asp` function.
+
+## Plugin options
+
+* Set `SHOW_AWS_PROMPT=false` in your zshrc file if you want to prevent the plugin from modifying your RPROMPT.
+
+## Theme
+
+The plugin creates an `aws_prompt_info` function that you can use in your theme, which displays
+the current `$AWS_PROFILE`. It uses two variables to control how that is shown:
+
+- ZSH_THEME_AWS_PREFIX: sets the prefix of the AWS_PROFILE. Defaults to `<aws:`.
+
+- ZSH_THEME_AWS_SUFFIX: sets the suffix of the AWS_PROFILE. Defaults to `>`.
diff --git a/plugins/aws/aws.plugin.zsh b/plugins/aws/aws.plugin.zsh
index 9cb69dd09..2fb351812 100644
--- a/plugins/aws/aws.plugin.zsh
+++ b/plugins/aws/aws.plugin.zsh
@@ -1,14 +1,16 @@
+# AWS profile selection
+
function agp {
echo $AWS_PROFILE
}
function asp {
- local rprompt=${RPROMPT/<aws:$AWS_PROFILE>/}
-
export AWS_DEFAULT_PROFILE=$1
export AWS_PROFILE=$1
- export RPROMPT="<aws:$AWS_PROFILE>$rprompt"
+ if [[ -z "$1" ]]; then
+ echo AWS profile cleared.
+ fi
}
function aws_profiles {
@@ -17,6 +19,18 @@ function aws_profiles {
compctl -K aws_profiles asp
+# AWS prompt
+
+function aws_prompt_info() {
+ [[ -z $AWS_PROFILE ]] && return
+ echo "${ZSH_THEME_AWS_PREFIX:=<aws:}${AWS_PROFILE}${ZSH_THEME_AWS_SUFFIX:=>}"
+}
+
+if [ "$SHOW_AWS_PROMPT" != false ]; then
+ export RPROMPT='$(aws_prompt_info)'"$RPROMPT"
+fi
+
+
# Load awscli completions
_awscli-homebrew-installed() {