unexpected_char

Diagnostic `nanook::template::unexpected_char`

Summary

unexpected character {0:?}

Help

outside {{{{ … }}}}/{{% … %}} only literal text is allowed; inside, valid tokens are identifiers, numbers, quoted strings, ., […], |, ,, (, )

Details

When this fires

The lexer hit a character it doesn't recognize inside a {{ ... }} or {% ... %} block. Outside those blocks any literal text is fine; inside, only identifiers, numbers, quoted strings, ., [], |, ,, (, ) are valid. Raised at parse time, caught by nanook check.

What to check

Comparisons live in {% if ... %}, not {{ ... }}. Bare expressions can't use =, ==, etc. If the offending char is a { or %, you probably forgot to close the previous block and the following text is being lexed as an expression.

broken: {{ trigger$value }}
fixed:  {{ trigger.value }}
broken: {{ name = "ok" }}
fixed:  {% if name == "ok" %}...{% endif %}