tree-sitter-hygen-template
v0.5.0
Published
Hygen Template grammar for tree-sitter
Downloads
14
Maintainers
Readme
tree-sitter-hygen-template
Tree-sitter grammar for Hygen templates.
It extends the tree-sitter-embedded-template grammar.
Parser requirements
bash(optional): highlight ofmetadata.valuewhenmetadata.keyisshjavascript(optional): highlight ofcodenodesregex(optional): highlight ofmetadata.valuewhenmetadata.keyisafter,beforeorskip_if- Any other parser that you want to use for dynamic injection
Usage in Editors
Neovim
hygen.nvim: plugin that integrates this grammar to yourNeovimconfiguration.
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 naming convention
Just add .hygen to the end of the file name, i.e.:
index.html.hygen.gitignore.hygen.tsconfig.json.hygen
Tree-sitter directive
To implement dynamic injection, is recommended to create a directive with the following name:
#inject-hygen-tmpl![!NOTE] The creation of this directive varies for each editor
This directive will the responsible to remove .hygen from the file name and
use the rest of the file name to retrieve the parser to be used for dynamic
injection. See implementations for more details.
[!WARNING] Ignore dynamic injection for
*.ejs.hygen,*.erb.hygenand*.hygen.hygenfiles to avoid weird behaviours
Once created, add it to the end of injections.scm file that will be used by
the editor:
; dynamic injection
((content) @injection.content
(#inject-hygen-tmpl! "")
(#set! injection.combined))Implementations
hygen.nvim
References
- Hygen repository
- Hygen website (currently down)
