tree-sitter-hcl

tree-sitter grammar for the HCL language

Example

Highlighting example/example.hcl:

Highlighting Example

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 and hashicorp

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: 1126; successful parses: 1110; failed parses: 16; success percentage: 98.58%

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
    • [WIP] add heredoc templates
      • support arbitary markers, at the moment for playground usage its only EOF
Description
No description provided
Readme Apache-2.0 3.9 MiB
Languages
HCL 82.1%
C 17.4%
C++ 0.3%
JavaScript 0.2%