mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-06-16 11:36:16 +08:00
- Add command existence check at the top of the plugin to prevent aliases and functions from being created when terraform is not installed, consistent with other plugins (e.g. bun, volta, gh) - Add missing `tfapp` and `tfpo` aliases to the README documentation
47 lines
1.6 KiB
Bash
47 lines
1.6 KiB
Bash
# Return immediately if terraform is not found
|
|
if (( ! ${+commands[terraform]} )); then
|
|
return
|
|
fi
|
|
|
|
function tf_prompt_info() {
|
|
# dont show 'default' workspace in home dir
|
|
[[ "$PWD" != ~ ]] || return
|
|
# check if in terraform dir and file exists
|
|
[[ -d "${TF_DATA_DIR:-.terraform}" && -r "${TF_DATA_DIR:-.terraform}/environment" ]] || return
|
|
|
|
local workspace="$(<"${TF_DATA_DIR:-.terraform}/environment")"
|
|
echo "${ZSH_THEME_TF_PROMPT_PREFIX-[}${workspace:gs/%/%%}${ZSH_THEME_TF_PROMPT_SUFFIX-]}"
|
|
}
|
|
|
|
function tf_version_prompt_info() {
|
|
local terraform_version
|
|
terraform_version=$(terraform --version | head -n 1 | cut -d ' ' -f 2)
|
|
echo "${ZSH_THEME_TF_VERSION_PROMPT_PREFIX-[}${terraform_version:gs/%/%%}${ZSH_THEME_TF_VERSION_PROMPT_SUFFIX-]}"
|
|
}
|
|
|
|
alias tf='terraform'
|
|
alias tfa='terraform apply'
|
|
alias tfa!='terraform apply -auto-approve'
|
|
alias tfap='terraform apply -parallelism=1'
|
|
alias tfapp='terraform apply tfplan'
|
|
alias tfc='terraform console'
|
|
alias tfd='terraform destroy'
|
|
alias tfd!='terraform destroy -auto-approve'
|
|
alias tfdp='terraform destroy -parallelism=1'
|
|
alias tff='terraform fmt'
|
|
alias tffr='terraform fmt -recursive'
|
|
alias tfi='terraform init'
|
|
alias tfir='terraform init -reconfigure'
|
|
alias tfiu='terraform init -upgrade'
|
|
alias tfiur='terraform init -upgrade -reconfigure'
|
|
alias tfo='terraform output'
|
|
alias tfp='terraform plan'
|
|
alias tfpo='terraform plan -out tfplan'
|
|
alias tfv='terraform validate'
|
|
alias tfs='terraform state'
|
|
alias tft='terraform test'
|
|
alias tfsh='terraform show'
|
|
alias tfw='terraform workspace'
|
|
alias tfwl='terraform workspace list'
|
|
alias tfws='terraform workspace select'
|