Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tamj0rd2/cff9e6b370768ae8eac90cca5ccc6765 to your computer and use it in GitHub Desktop.
Save tamj0rd2/cff9e6b370768ae8eac90cca5ccc6765 to your computer and use it in GitHub Desktop.
display current stack in prompt but only make call when changing directory
get_pulumi_info() {
CONFIG_FILE_NAME="Pulumi.yaml"
CONTAINING_FOLDER="$(pwd)"
while [[ "$CONTAINING_FOLDER" != "" && ! -e "$CONTAINING_FOLDER/$CONFIG_FILE_NAME" ]]; do
CONTAINING_FOLDER="${CONTAINING_FOLDER%/*}"
done
YAML_FILE="${CONTAINING_FOLDER}/${CONFIG_FILE_NAME}"
if [[ -f "$YAML_FILE" ]]; then
WORKSPACE_NAME="$(cat $YAML_FILE | grep name: | head -1 | sed 's/name: //g ')"
WORKSPACE_FILE_PATH="$HOME/.pulumi/workspaces/$(ls $HOME/.pulumi/workspaces | grep "^$WORKSPACE_NAME-" | head -1)"
STACK_NAME="$(jq .stack $WORKSPACE_FILE_PATH -r)"
echo "%B%F{blue}pulumi(%F{red}$STACK_NAME%F{blue})%b%F{reset} "
fi
}
PROMPT="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"
PROMPT+=' %{$fg[cyan]%}%c%{$reset_color%} $(get_pulumi_info)$(git_prompt_info)'
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"
@tamj0rd2
Copy link
Author

This file would go into ~/.oh-my-zsh/themes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment