[![](https://img.shields.io/badge/Supports%20Terraform%20Version-%3E%3D0.9.3-blue.svg)](https://github.com/hashicorp/terraform/blob/v0.9.3/CHANGELOG.md) # Call For Maintainers This plugin, along with others like it, is now maintained by the [HashiVim](http://hashivim.github.io/) organization, which is looking for additional maintainers and contributors. See the HashiVim home page for further information. - - - - # Overview: vim-terraform This plugin adds a `:Terraform` command that runs terraform, with tab completion of subcommands. It also sets up `*.tf`, `*.tfvars`, and `*.tfstate` files to be highlighted as HCL, HCL, and JSON respectively. For Terraform 0.6.15 or greater, this plugin also adds a `:TerraformFmt` command that runs `terraform fmt` against the current buffer. Set `g:terraform_fmt_on_save` to 1 to run `terraform fmt` automatically when saving `*.tf` or `*.tfvars` files. - - - - # Installation With [pathogen.vim](https://github.com/tpope/vim-pathogen) just do: cd ~/.vim/bundle git clone https://github.com/hashivim/vim-terraform.git If you prefer to use something besides pathogen, go ahead. - - - - # Usage Allow vim-terraform to override your `.vimrc` indentation syntax for matching files. Defaults to 0 which is off. let g:terraform_align=1 If you use the [vim-commentary](https://github.com/tpope/vim-commentary) plugin, you should set the following option in your `~/.vimrc`. See [TOOLS-1](https://github.com/hashivim/vim-hashicorp-tools/pull/1) for more details. autocmd FileType terraform setlocal commentstring=#%s - - - - # Updating vim-terraform Note, this is only for maintainers of the `vim-terraform` project. When a new version of Terraform drops, you can run the following where x.x.x is a version such as 0.8.7 ./update_automagic.sh x.x.x You will see the following truncated output +) Extracting terraform-0.8.7.tar.gz +) Running update_commands.rb +) Running update_data_sources.rb +) Running update_syntax.rb +) Cleaning up after ourselves On branch feature/run-helper-scripts-for-terraform-087/pgp Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: syntax/terraform.vim At this point, add the modified files to a git branch and open a pull request. git checkout -b "feature/update-to-terraform-$VERSION" git add $FILE git commit -m "Message about update" git push Add another maintainer to the pull request and await confirmation. - - - - # Credits Syntax highlighting and indentation by Kevin Le (@bkad) based on prior work by Larry Gilbert (@L2G). The rest originally written by Mark Cornick and contributors listed below. Licensed under the ISC license. Thanks to the following contributors: - michael j talarczyk (@mijit) - Koji Nakayama (@knakayama) - Kris (@kostecky) - Okumura Takahiro (@hfm) - Paul Forman (@pforman) - Lowe Schmidt (@lsc) The `:TerraformFmt` command is adapted from [vim-hclfmt](https://github.com/fatih/vim-hclfmt/blob/master/autoload/fmt.vim). This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.