All Projects → juliosueiras → Terraform Lsp

juliosueiras / Terraform Lsp

Licence: mit
Language Server Protocol for Terraform

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Terraform Lsp

Terraform Ls
Terraform Language Server
Stars: ✭ 389 (-17.06%)
Mutual labels:  terraform, lsp
navigator.lua
Source code analysis & navigation plugin for Neovim. Navigate codes like a breeze🎐. Exploring LSP and 🌲Treesitter symbols a piece of 🍰. Take control like a boss 🦍.
Stars: ✭ 781 (+66.52%)
Mutual labels:  diagnostics, lsp
Company Box
A company front-end with icons
Stars: ✭ 395 (-15.78%)
Mutual labels:  completion
Zsh Completions
Additional completion definitions for Zsh.
Stars: ✭ 4,907 (+946.27%)
Mutual labels:  completion
Inframap
Read your tfstate or HCL to generate a graph specific for each provider, showing only the resources that are most important/relevant.
Stars: ✭ 430 (-8.32%)
Mutual labels:  terraform
Symfony Console Completion
Automatic tab-key completion for Symfony console application options, arguments and parameters
Stars: ✭ 405 (-13.65%)
Mutual labels:  completion
Lsp Java
lsp-mode ❤️ java
Stars: ✭ 446 (-4.9%)
Mutual labels:  lsp
Lspsaga.nvim
neovim lsp plugin
Stars: ✭ 379 (-19.19%)
Mutual labels:  lsp
Symfony Console Autocomplete
Shell autocompletion for Symfony Console based scripts
Stars: ✭ 465 (-0.85%)
Mutual labels:  completion
Tads Boilerplate
Terraform + Ansible + Docker Swarm boilerplate = DevOps on 🔥🔥🔥 | Infrastructure as Code
Stars: ✭ 424 (-9.59%)
Mutual labels:  terraform
Terracognita
Reads from existing Cloud Providers (reverse Terraform) and generates your infrastructure as code on Terraform configuration
Stars: ✭ 452 (-3.62%)
Mutual labels:  terraform
Monaco Languageclient
NPM module to connect Monaco editor with language servers
Stars: ✭ 419 (-10.66%)
Mutual labels:  lsp
Serverless Libreoffice
Run LibreOffice in AWS Lambda to create PDFs & convert documents
Stars: ✭ 410 (-12.58%)
Mutual labels:  terraform
Codespan
Beautiful diagnostic reporting for text-based programming languages.
Stars: ✭ 445 (-5.12%)
Mutual labels:  diagnostics
Terraform Provider Oci
Terraform Oracle Cloud Infrastructure provider
Stars: ✭ 400 (-14.71%)
Mutual labels:  terraform
Terraformer
CLI tool to generate terraform files from existing infrastructure (reverse Terraform). Infrastructure to Code
Stars: ✭ 6,316 (+1246.7%)
Mutual labels:  terraform
Terraform Provider Kubernetes Alpha
A Terraform provider for Kubernetes that uses dynamic resource types and server-side apply. Supports all Kubernetes resources.
Stars: ✭ 438 (-6.61%)
Mutual labels:  terraform
Terraforming
Export existing AWS resources to Terraform style (tf, tfstate) / No longer actively maintained
Stars: ✭ 4,232 (+802.35%)
Mutual labels:  terraform
Terragoat
TerraGoat is Bridgecrew's "Vulnerable by Design" Terraform repository. TerraGoat is a learning and training project that demonstrates how common configuration errors can find their way into production cloud environments.
Stars: ✭ 461 (-1.71%)
Mutual labels:  terraform
Typescript Language Server
TypeScript & JavaScript Language Server
Stars: ✭ 462 (-1.49%)
Mutual labels:  lsp

Terraform LSP

Gitter terraform version Release FOSSA Status

This is LSP (Language Server Protocol) for Terraform

IMPORTANT: Currently there is two terraform lsp, one is this one and the other one is terraform-ls, which contain details about this repo as well.

Current Focus: Terraform State Reading

The aim to have a unified lsp for terraform in the future, but for now there is two concurrent development with collabration to each other, this repo is aim for more experimental features, and the terraform-ls is aim for stableness

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

asciicast

Release

Release can be found here

Building

Requirement

it will need Go 1.14+

Native

  1. Download a release or clone the repository
  2. Run these commands from the terraform-lsp directory
GO111MODULE=on go mod download # Download the modules for the project
make      # Build the project. Alternatively run "go build"
make copy # Install the project

you may also specify a path to your preferred bin directory with the DST parameter

make copy DST="$your_preferred_bin_path" # Install the project

Nixpkgs

  • install nixpkgs
  • nix-build

Features

  • 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 (infinite as well) variable completion

Todo

All Todos are listed here

LSP Support Table

Feature Description Status
completion Autocompletion Supported for Resources/Data Sources/Variables/Locals, need support for nested interpolation
publishDiagnostics Error checking Supported, need to check for all possible errors
hover Hover on function/variables to get result Need to Implement
signatureHelp Get docs for resources/data sources name and params Need to Implement
declaration Go to Declaration Need to Implement
references Find all references Need to Implement
implementation Find all implementation Need to Implement (not sure if is applicable)
documentHighlight Resources/data sources/variables highlight Need to Implement
documentSymbol Resources/data sources/variables symbols Need to Implement
codeAction Refactoring actions Need to Implement
codeLens VSCode's code lens Need to Implement
formatting Formatting Need to Implement
rename Rename action Need to Implement
workspace Workspace support Need to Implement

Supported Editors

Editor Status Docs
Visual Studio Code Supported Link
Atom Supported Link
Vim Supported Link
Sublime Text 3 Supported Link
IntelliJ Supported Link
Emacs Supported Link

NOTE: Please create a issue for a editor that you want to test for

Bugs

  • Order of completion items
  • Issue with block

Credits

License

FOSSA Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].