terraform-lsp

command module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2019 License: MIT Imports: 17 Imported by: 0

README

Terraform LSP

This is LSP(Language Server Protocol) for Terraform

NOTE: This is first stage of the plugin, so is experimental

Currently Supported

  • Variables complex completion(infinite nesting type)
  • Provider Config completion
  • Resource(with infinite block, looking at you kubernetes provider ;) ) completion
  • Data source completion
  • Dynamic Error Checking(Terraform and HCL checks)
  • Communication using provider binary(so it will support any provider as long as is built with terraform 0.12 sdk)
  • Module nesting(inifinte as well) variable completion

Todo-List (Main)

  • A lot of code clean up(right now is mostly getting the feature done)
  • CI/CD(Travis)
  • Tests
  • Getting Started Guide
  • Add Gifs & Asciinema for Demo

Todo-List (Terraform)

  • Provider Configs

  • Resources

  • Data Sources

  • Backends

  • Provisioner

  • Interpolations

    • Complex nesting interpolations
  • Modules

  • Locals

  • Outputs

  • Variables

    • Map Interpolation with Object inside
    • Index Interpolation
    • List Interpolation with Object inside
    • Object Interpolation
    • Functions
  • Dynamic Block

    • Block

Todo-List (LSP)

  • initialize
  • textDocument/completion
  • textDocument/didChange
  • textDocument/didOpen
  • textDocument/publishDiagnostics
  • Current Plan: Implement all possible LSP features

Editors Specific

VS Code
Issues
  • Need syntax and highlight etc (possible collab with vscode-terraform?)
Atom
Issues
  • Need configuration for linter API
Intellij
  • Work with intellij-lsp plugin(also work with intellij-hcl together)
Vim
  • Should work with all lsp plugin on vim
Emacs
  • Should work with emacs-lsp(need confirmation)
Others
  • It should work with any lsp client in theory

Bugs

  • Order of completion items
  • Issue with block

Credits

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL