@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"