🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

tree-sitter-hygen-template

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tree-sitter-hygen-template

Hygen Template grammar for tree-sitter

0.3.2
PyPI
Maintainers
1

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

  • embedded-template: highlight of ejs tags
  • bash (optional): highlight of metadata.value when metadata.key is sh
  • javascript (optional): highlight of code nodes
  • Any other parser that you want to use for dynamic injection

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

Keywords

incremental

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts