Skip to content

Commit

Permalink
Merge pull request #56 from andrewimeson/adi/docs-improvements
Browse files Browse the repository at this point in the history
docs: Improve install instructions, typos, formatting
  • Loading branch information
juliosueiras authored Feb 12, 2020
2 parents daa46fe + 479c03c commit 5ce1b76
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 37 deletions.
73 changes: 40 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
[![Nix Build](https://img.shields.io/travis/com/juliosueiras/terraform-lsp.svg?logo=travis&label=Nix%20Build)](https://travis-ci.com/juliosueiras/terraform-lsp)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.51.al%2Fjuliosueiras%2Fterraform-lsp.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.51.al%2Fjuliosueiras%2Fterraform-lsp?ref=badge_shield)

This is LSP(Language Server Protocol) for Terraform
This is LSP (Language Server Protocol) for Terraform

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

Expand All @@ -30,8 +30,15 @@ Release can be found [here](https://github.com/juliosueiras/terraform-lsp/releas

### Native

- download go modules `GO111MODULE=on go mod download`
- run make or `go build`
1. Download a [release](https://github.com/juliosueiras/terraform-lsp/releases)
or clone the repository
2. Run these commands from the `terraform-lsp` directory

```sh
GO111MODULE=on go mod download # Download the modules for the project
make # Build the project. Alternatively run "go build"
make copy # Install the project
```

### Nixpkgs

Expand All @@ -40,47 +47,47 @@ Release can be found [here](https://github.com/juliosueiras/terraform-lsp/releas

## Features

- Variables complex completion(infinite nesting type)
- Provider Config completion
- Resource(with infinite block, looking at you kubernetes provider ;) ) completion
- 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
- 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](Todo.md)

## 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 |
| 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](docs/editors/vscode.md) |
| Atom | Supported | [Link](docs/editors/atom.md) |
| Vim | Supported | [Link](docs/editors/vim.md) |
| Sublime Text 3 | Supported | [Link](docs/editors/sublime3.md) |
| Intellij | Supported | [Link](docs/editors/intellij.md) |
| Emacs | Supported | [Link](docs/editors/emacs.md) |
| Editor | Status | Docs |
|--------------------|-----------|----------------------------------|
| Visual Studio Code | Supported | [Link](docs/editors/vscode.md) |
| Atom | Supported | [Link](docs/editors/atom.md) |
| Vim | Supported | [Link](docs/editors/vim.md) |
| Sublime Text 3 | Supported | [Link](docs/editors/sublime3.md) |
| IntelliJ | Supported | [Link](docs/editors/intellij.md) |
| Emacs | Supported | [Link](docs/editors/emacs.md) |

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

Expand Down
3 changes: 2 additions & 1 deletion docs/editors/atom.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Atom

- There is a seperate [atom-terraform](https://github.com/juliosueiras/atom-terraform)
- There is a separate [atom-terraform](https://github.com/juliosueiras/atom-terraform)
plugin that works in conjunction with `terraform-lsp`

## Issues

Expand Down
4 changes: 2 additions & 2 deletions docs/editors/emacs.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### Emacs Supportt
### Emacs Support

There is two option
There are two options

1. Use the latest version of [emacs-lsp/lsp-mode](https://github.com/emacs-lsp/lsp-mode), it had added support for terraform-lsp

Expand Down
2 changes: 1 addition & 1 deletion docs/editors/vim.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

Todo: add config snippets

- Should work with all lsp plugin on vim
- Should work with all LSP plugin on vim

0 comments on commit 5ce1b76

Please sign in to comment.