Coder Social home page Coder Social logo

drzln / vim-terraform Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hashivim/vim-terraform

0.0 0.0 0.0 318 KB

basic vim/terraform integration

Home Page: http://hashivim.github.io/vim-terraform

License: ISC License

Makefile 0.33% Vim Script 95.99% Shell 1.79% Ruby 1.90%

vim-terraform's Introduction

Call For Maintainers

This plugin, along with others like it, is now maintained by the HashiVim 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.


Installation

With pathogen.vim just do:

cd ~/.vim/bundle
git clone https://github.com/hashivim/vim-terraform.git

For vundle.vim users, add the following to ~/.vimrc:

Plugin 'hashivim/vim-terraform'

If you prefer to use something besides pathogen, go ahead.


Usage

Allow vim-terraform to align settings automatically with Tabularize.

let g:terraform_align=1

Allow vim-terraform to automatically fold (hide until unfolded) sections of terraform code. Defaults to 0 which is off.

let g:terraform_fold_sections=1

Allow vim-terraform to re-map the spacebar to fold/unfold. This works in conjunction with let g:terraform_fold_sections=1 which should be enabled if you plan to use this feature. Defaults to 0 which is off.

let g:terraform_remap_spacebar=1

Override the Vim's commentstring setting with a custom value. Defaults to #%s. Example:

let g:terraform_commentstring='//%s'

Allow vim-terraform to automatically format *.tf and *.tfvars files with terraform fmt. You can also do this manually with the :TerraformFmt command.

let g:terraform_fmt_on_save=1

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.11.11

./update_automagic.sh x.x.x

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.


Running tests

To run the test suite and verify functionality

make

Credits

Syntax highlighting and indentation by Kevin Le (@bkad) based on prior work by Larry Gilbert (@L2G). The rest originally written by Mark Cornick https://www.markcornick.com/ 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)
  • Mario Kozjak (@mkozjak)

The :TerraformFmt command is adapted from vim-hclfmt.

This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

vim-terraform's People

Contributors

pgporada avatar mcornick avatar dimbleby avatar mcrmonkey avatar ashb avatar loicgombeaud avatar mkozjak avatar minamijoyo avatar knakayama avatar rkennedy avatar imkira avatar talarczykco avatar tmichel avatar stephenpaulger avatar padde avatar orlando avatar natw avatar moofish32 avatar lsc avatar kostecky avatar kesoji avatar esc avatar dougneal avatar dabio avatar crichon avatar vancluever avatar andrewschleifer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.