hcl-lang
hcl-lang copied to clipboard
Schema and decoder to be used as building blocks for an HCL2-based language server.
## Background Namespaced functions in HCL that are not complete (e.g. `provider::aws`, `a::`, or `a::b`) return a `ExprSyntaxError` expression as long as there are no parentheses. However, if there's only...
## Background While implementing support for `ForExpr` in https://github.com/hashicorp/hcl-lang/pull/368 a few edge cases surfaced around completion: - incomplete `ForExpr` - `attr = [ for k, v in /*HERE*/ ]` -...
Currently we return two duplicate completion candidates when completing `for_each` under a `dynamic` block, in a block which also has the "standalone" `for_each`:  ```hcl...
Hi guys, I'm experimenting with using this library as the base for my language server, and I'm configuring a schema template for [Atlas HCL](https://atlasgo.io/atlas-schema/hcl). After a few days of trying...
## Background Currently, when providing completion or hover, we use the attribute type. There are many cases where an attribute can have a default value. e.g. Terraform provider schemas, or...
## Background Code actions is one of the major features of LSP and there is a great number of use cases anticipated in the context of the Terraform LS: https://github.com/hashicorp/terraform-ls/issues?page=2&q=is%3Aopen+is%3Aissue+label%3AtextDocument%2FcodeAction...
## Background While implementing support for `ConditionalExpr` in https://github.com/hashicorp/hcl-lang/pull/326 a few edge cases surfaced around completion: - incomplete `ConditionalExpr` - `attr = /*HERE*/ ? var.foo : var.bar` - `attr =...
## Background Currently when the user attempts completion (either by simply typing or explicitly via Ctrl+Space or equivalent hotkey) and we cannot offer any candidates, we often times treat the...
### Context While implementing template expressions in #322, we discovered some edge cases for template expressions inside objects and maps. In the past, we ran into similar problems with completion...