diff options
| author | awy <awy@awy.one> | 2025-10-14 18:27:29 +0300 | 
|---|---|---|
| committer | awy <awy@awy.one> | 2025-10-14 18:27:29 +0300 | 
| commit | de009fd679e10d053fdcc10785f91ad5317449ea (patch) | |
| tree | 60918a488b579588596cf4d509fde298dccbf15d /.config/nvim/lsp/terraformls.lua | |
| parent | 9ea6cf81adb5d6abc59843de1db45913210f9320 (diff) | |
| download | hyprdots-de009fd679e10d053fdcc10785f91ad5317449ea.tar.gz | |
nvim revamp
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' }, +}  |