@top Template { (directive | Text)* } directive { Insert } @skip {space} { Insert { "${[" DirectiveContent "]}" } } @tokens { Text { ![${[] Text? } space { @whitespace+ } DirectiveContent { ![\]}$] DirectiveContent? } @precedence { space DirectiveContent } "${[" "]}" } @external propSource highlight from "./highlight"