aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lsp/terraform_lsp.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/lsp/terraform_lsp.lua')
-rw-r--r--.config/nvim/lsp/terraform_lsp.lua36
1 files changed, 36 insertions, 0 deletions
diff --git a/.config/nvim/lsp/terraform_lsp.lua b/.config/nvim/lsp/terraform_lsp.lua
new file mode 100644
index 0000000..bd25157
--- /dev/null
+++ b/.config/nvim/lsp/terraform_lsp.lua
@@ -0,0 +1,36 @@
+---@brief
+---
+--- https://github.com/juliosueiras/terraform-lsp
+---
+--- Terraform language server
+--- Download a released binary from
+--- https://github.com/juliosueiras/terraform-lsp/releases.
+---
+--- From https://github.com/hashicorp/terraform-ls#terraform-ls-vs-terraform-lsp:
+---
+--- Both HashiCorp and the maintainer of terraform-lsp expressed interest in
+--- collaborating on a language server and are working towards a _long-term_
+--- goal of a single stable and feature-complete implementation.
+---
+--- For the time being both projects continue to exist, giving users the
+--- choice:
+---
+--- - `terraform-ls` providing
+--- - overall stability (by relying only on public APIs)
+--- - compatibility with any provider and any Terraform >=0.12.0 currently
+--- less features
+--- - due to project being younger and relying on public APIs which may
+--- not offer the same functionality yet
+---
+--- - `terraform-lsp` providing
+--- - currently more features
+--- - compatibility with a single particular Terraform (0.12.20 at time of writing)
+--- - configs designed for other 0.12 versions may work, but interpretation may be inaccurate
+--- - less stability (due to reliance on Terraform's own internal packages)
+
+---@type vim.lsp.Config
+return {
+ cmd = { 'terraform-lsp' },
+ filetypes = { 'terraform', 'hcl' },
+ root_markers = { '.terraform', '.git' },
+}