Open mjomble opened 1 year ago
I managed to look into this a bit.
parseExpr
has two steps: parseInnerExpr
and parseOuterExpr
.
In the {{ x is defined ? 1 : 0 }}
example, the inner expression is x
and the outer expression is x is defined
, but what we need is to go one step further and find the "outer outer" expression x is defined ? 1 : 0
.
There are lots of different ways to approach this. @tyler-sommer do you have recommendations?
PS. A workaround is to change the template like this: {{ (x is defined) ? 1 : 0 }}
.
A template like this:
{{ x is defined ? 1 : 0 }}
results inparse: expected "PRINT_CLOSE", got "PUNCTUATION"
Similarly, this
{% set y = x is defined ? 1 : 0 %}
results inparse: expected "TAG_CLOSE", got "PUNCTUATION"
PS. There's a chance I'll find the time and motivation to fix this (and other such issues I may run into), so any tips or pointers about the codebase would be welcome 😄