diff options
| author | awy <awy@awy.one> | 2025-10-20 20:55:26 +0300 | 
|---|---|---|
| committer | awy <awy@awy.one> | 2025-10-20 20:55:26 +0300 | 
| commit | 662dafc52b2c8a9426bb2197ab9246a8cda318e4 (patch) | |
| tree | f9d1f20e3864360bf941fd6bc02848ed77b037a8 /.config/nvim/lsp/terraformls.lua | |
| parent | 8131d9f2898b991a2d2c7a2ac601ce9e07cc9c9f (diff) | |
| download | hyprdots-662dafc52b2c8a9426bb2197ab9246a8cda318e4.tar.gz | |
nvqw
Diffstat (limited to '.config/nvim/lsp/terraformls.lua')
| -rw-r--r-- | .config/nvim/lsp/terraformls.lua | 40 | 
1 files changed, 40 insertions, 0 deletions
diff --git a/.config/nvim/lsp/terraformls.lua b/.config/nvim/lsp/terraformls.lua new file mode 100644 index 0000000..f5897f2 --- /dev/null +++ b/.config/nvim/lsp/terraformls.lua @@ -0,0 +1,40 @@ +---@brief +--- +--- https://github.com/hashicorp/terraform-ls +--- +--- Terraform language server +--- Download a released binary from https://github.com/hashicorp/terraform-ls/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) +--- +--- Note, that the `settings` configuration option uses the `workspace/didChangeConfiguration` event, +--- [which is not supported by terraform-ls](https://github.com/hashicorp/terraform-ls/blob/main/docs/features.md). +--- Instead you should use `init_options` which passes the settings as part of the LSP initialize call +--- [as is required by terraform-ls](https://github.com/hashicorp/terraform-ls/blob/main/docs/SETTINGS.md#how-to-pass-settings). + +---@type vim.lsp.Config +return { +  cmd = { 'terraform-ls', 'serve' }, +  filetypes = { 'terraform', 'terraform-vars' }, +  root_markers = { '.terraform', '.git' }, +}  |