1.6 KiB
1.6 KiB
tree-sitter-hcl
tree-sitter grammar for the HCL language
Example
Highlighting example/example.hcl:
Developing
It is recommended to use nix to fulfill all development dependencies. To activate the development environment simply run nix-shell in the project root.
Running Tests
To run tests simply run nix-shell --run 'tree-sitter test'.
Compliance
The directory example/real_world_stuff contains a corpus of hcl files that I found with the github query language:HCL for users coreos, hashicorp, oracle and terraform-community-modules.
Given that some language features are still missing ( see TODO ) there are some expected parse errors:
tree-sitter parse --quiet --stat example/real_world_stuff/*/*
example/real_world_stuff/oracle/oracle%opengrok%opengrok-indexer%src%test%resources%analysis%terraform%sample.tf 1 ms (ERROR [205, 8] - [214, 1])
Total parses: 2015; successful parses: 2014; failed parses: 1; success percentage: 99.95%
The aim is to build unit testcases from selected failure classes and slowly get to 100%.
Todo
- use Unicode® Standard Annex #31 (augmented with '-') for identifiers
- add template expressions
- add quoted templates
- add quoted template interpolations
- add quoted template directives
- add heredoc templates
- add quoted templates
