Tree-sitter grammar for HTMLX (expression-enhanced HTML)
HTMLX extends HTML with expression syntax commonly used in modern frontend frameworks like Svelte, Vue, and others.
Features
- Expression interpolation:
{expression} - Shorthand attributes:
{name}(equivalent toname={name}) - Spread attributes:
{...props} - Directive attributes:
bind:value,on:click,class:active, etc.
Example
use LANGUAGE;
let mut parser = new;
parser.set_language.expect;
let source = r#"<div class="container" {hidden}>
<p>{greeting}, {name}!</p>
<button onclick={handleClick}>Click me</button>
</div>"#;
let tree = parser.parse.unwrap;
assert!;