Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: Improve install instructions, typos, formatting #56

Merged
merged 1 commit into from
Feb 12, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.jparrowsec.cn%2Fjuliosueiras%2Fterraform-lsp.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.jparrowsec.cn%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