Ed Page
Ed Page
Example test: ```rust assert_template_result!("9", "{%decrement port %}", v!({ "port": 10 })); ```
Depends on #275 In addition to passing variables to #310, there is a special case of passing a single variable. There are two forms - `{% include foo.html with bar...
Right now, the parser generates `Box`s which are nested inside each other. - Can't really gain much from CPU caches - Heap fragmentation from all of these What if we...
Depends on #309 Jekyll seems to scope the variables to the partial's name and uses `=` for assignment - https://jekyllrb.com/docs/includes/#passing-parameters-to-includes This is in contrast to #310 for stdlib's include
Depends on #309 In looking at the Jekyll docs, it appears shopify allows expressions for include. https://jekyllrb.com/docs/includes/ Besides the parser (see #138), we'd have a problem with this because we...
Shopify says so > Note that you don't need to write the file's .liquid extension. https://help.shopify.com/themes/liquid/tags/theme-tags#include Jekyll says nothing https://jekyllrb.com/docs/includes/#passing-parameters-to-includes
Expanding on #232, we can capture the line associated with a block / filter / etc and report that during the render phase.
Compare ``` Error: liquid: --> 1:17 | 1 | {% assign foo = 5 | ten%} | ^-----^ | = unexpected FilterChain; expected FilterChain ``` with ``` Error: liquid: Unknown...
Looks like a `Value` can also be a range? https://github.com/Shopify/liquid/blob/master/lib/liquid/expression.rb#L28 https://github.com/Shopify/liquid-c/blob/master/ext/liquid_c/parser.c#L131 A simple implementation would be to add support for this to the grammar and then have the parsing of...
- [for-loop code](https://github.com/cobalt-org/liquid-rust/blob/master/src/tags/for_block.rs) - [Ruby implementation](https://github.com/Shopify/liquid/blob/master/lib/liquid/tags/tablerow.rb) - [Relevant tests](https://github.com/cobalt-org/liquid-rust/search?q=liquid+282&unscoped_q=liquid+282) - Once this is working, ideally the test will start failing. We would just need to remove the `#[should_panic]` on it...