Update 30.01.2022

This commit is contained in:
2022-01-30 00:39:21 +05:00
parent 3d6a64111c
commit 04423b8c5c
323 changed files with 44877 additions and 7114 deletions

View File

@@ -1,14 +1,7 @@
## Terraform oh-my-zsh plugin
# Terraform plugin
Plugin for Terraform, a tool from Hashicorp for managing infrastructure safely and efficiently.
Current as of Terraform v0.13
### Requirements
* [Terraform](https://terraform.io/)
### Usage
It adds completion for `terraform`, as well as aliases and a prompt function.
To use it, add `terraform` to the plugins array of your `~/.zshrc` file:
@@ -16,14 +9,34 @@ To use it, add `terraform` to the plugins array of your `~/.zshrc` file:
plugins=(... terraform)
```
* Type `terraform` into your prompt and hit `TAB` to see available completion options
* Type `tf` into your prompt as a short alias to `terraform`
## Requirements
### Expanding ZSH prompt with current Terraform workspace name
* [Terraform](https://terraform.io/)
If you want to get current Terraform workspace name in your ZSH prompt open
your .zsh-theme file and in a chosen place insert:
## Aliases
```shell
PROMPT=$'%{$fg[white]%}$(tf_prompt_info)%{$reset_color%} '
| Alias | Command |
| ----- | -------------------- |
| `tf` | `terraform` |
| `tfa` | `terraform apply` |
| `tfd` | `terraform destroy` |
| `tff` | `terraform fmt` |
| `tfi` | `terraform init` |
| `tfp` | `terraform plan` |
| `tfv` | `terraform validate` |
## Prompt function
You can add the current Terraform workspace in your prompt by adding `$(tf_prompt_info)`
to your `PROMPT` or `RPROMPT` variable.
```sh
RPROMPT='$(tf_prompt_info)'
```
You can also specify the PREFIX and SUFFIX for the workspace with the following variables:
```sh
ZSH_THEME_TF_PROMPT_PREFIX="%{$fg[white]%}"
ZSH_THEME_TF_PROMPT_SUFFIX="%{$reset_color%}"
```

View File

@@ -1,11 +1,17 @@
function tf_prompt_info() {
# dont show 'default' workspace in home dir
[[ "$PWD" == ~ ]] && return
# check if in terraform dir
if [[ -d .terraform && -r .terraform/environment ]]; then
workspace=$(cat .terraform/environment) || return
echo "[${workspace}]"
fi
# dont show 'default' workspace in home dir
[[ "$PWD" != ~ ]] || return
# check if in terraform dir and file exists
[[ -d .terraform && -r .terraform/environment ]] || return
local workspace="$(< .terraform/environment)"
echo "${ZSH_THEME_TF_PROMPT_PREFIX-[}${workspace:gs/%/%%}${ZSH_THEME_TF_PROMPT_SUFFIX-]}"
}
alias tf='terraform'
alias tfa='terraform apply'
alias tfd='terraform destroy'
alias tff='terraform fmt'
alias tfi='terraform init'
alias tfp='terraform plan'
alias tfv='terraform validate'