#tree-sitter #incremental #parser #hygen-template

tree-sitter-hygen-template

Hygen Template grammar for tree-sitter

3 unstable releases

0.3.2 Nov 27, 2024
0.2.3 Oct 11, 2024
0.2.2 Oct 7, 2024

#210 in Parser tooling

Download history 231/week @ 2024-10-05 156/week @ 2024-10-12 3/week @ 2024-10-19 149/week @ 2024-11-23 22/week @ 2024-11-30

171 downloads per month

MIT license

55KB
1.5K SLoC

C 1.5K SLoC Rust 29 SLoC // 0.2% comments Scheme 28 SLoC

tree-sitter-hygen-template

CI discord matrix crates npm pypi

Tree-sitter grammar for Hygen templates.

It extends the tree-sitter-embedded-template grammar.

Parser requirements

Usage in Editors

Neovim

  • hygen.nvim: plugin that integrates this grammar to your Neovim configuration.

Helix

To be added

Emacs

To be added

In General

You can get the built files from the release branch. If you have specific instructions for your editor, PR's are welcome.

Dynamic Injection

Thanks to content node of tree-sitter-embedded-template grammar, dynamic injections can be attached to template body.

File name pattern convention

To make it easier to understand which parser will be injected and which filetype is used in template body, the following pattern is recommended to implement this grammar:

<file-name>.(ext).hygen

Tree-sitter predicate/directive

To implement dynamic injection, is recommended to create a predicate/directive with the following name:

#inject-hygen-tmpl!

[!NOTE] The creation of this predicate/directive varies for each editor

Implementations

hygen.nvim

References

Dependencies

~2–305KB