d61fefced0acfa63fff4704575ba9fddf1c74bab
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 user:hashicorp language:HCL. Just to be sure I encrypted them using git-crypt.
Given that some language features are still missing ( see TODO ) there are some expected parse errors:
nix-shell --run 'tree-sitter parse --quiet --stat example/real_world_stuff/*'
...
...
Total parses: 886; successful parses: 801; failed parses: 85; success percentage: 90.41%
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
Description
Languages
HCL
82.1%
C
17.4%
C++
0.3%
JavaScript
0.2%
