This is LSP (Language Server Protocol) for Terraform
IMPORTANT: Currently there are two Terraform LSP repositories one of which is this repository and one of which is terraform-ls. Terraform-LS also contains details about this repository 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
Release can be found here
it will need Go 1.14+
terraform-lsp
directoryGO111MODULE=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
nix-build
All Todos are listed here
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 |
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