Fix rendering of custom tags with more than one parameter #301
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Trying to add moderately complex custom tags, I encountered a problem:
{% mu for foo as bar %}
was presented as one node["forfooasbar"]
in Tag methodrender(context, nodes)
NodeVisitor.visitSimple_tag()
Implementation was changed in Optimize the parsing of large templates #227. I reviewed the related tickets and didn't find justification for the concatenation
["for", "foo", "as", "bar"]
I am focused on the Liquid flavor, but the change should work well for Jekyll as well.
There was one Jekyll scenario with failing tests, revealing an unrelated problem with parsing of
include_relative
. I submitted #300 as a prerequisite of this PR.@msangel I'd appreciate your insight. I'm wondering if there was a reason for such string concatenation in #227 I am not aware of?
For reference, the original pre-227 code:
cc @bkiers