Fix whitespace stripping after control blocks
This commit is contained in:
parent
229acd6d3b
commit
fdf0a84593
|
@ -39,6 +39,7 @@ fn executeStatement(writer: anytype, comptime stmt: Statement, args: anytype, ca
|
||||||
.@"for" => |loop| {
|
.@"for" => |loop| {
|
||||||
const iterable = evaluateExpression(loop.header.iterable, args, captures);
|
const iterable = evaluateExpression(loop.header.iterable, args, captures);
|
||||||
const subtemplate = loop.subtemplate;
|
const subtemplate = loop.subtemplate;
|
||||||
|
//std.log.debug("{any}", .{subtemplate});
|
||||||
for (iterable) |v| {
|
for (iterable) |v| {
|
||||||
try executeTemplate(
|
try executeTemplate(
|
||||||
writer,
|
writer,
|
||||||
|
@ -155,6 +156,7 @@ fn parseTemplate(
|
||||||
switch (cb.block) {
|
switch (cb.block) {
|
||||||
.expression => |expr| items = items ++ [_]TemplateItem{.{ .statement = .{ .expression = expr } }},
|
.expression => |expr| items = items ++ [_]TemplateItem{.{ .statement = .{ .expression = expr } }},
|
||||||
.if_header => |header| {
|
.if_header => |header| {
|
||||||
|
if (i != tokens.len - 1 and tokens[i + 1] == .whitespace and cb.strip_after) i += 1;
|
||||||
const subtemplate = parseTemplate(tokens, i + 1, .if_block);
|
const subtemplate = parseTemplate(tokens, i + 1, .if_block);
|
||||||
items = items ++ [_]TemplateItem{.{
|
items = items ++ [_]TemplateItem{.{
|
||||||
.statement = .{
|
.statement = .{
|
||||||
|
@ -167,6 +169,7 @@ fn parseTemplate(
|
||||||
i = subtemplate.new_iter;
|
i = subtemplate.new_iter;
|
||||||
},
|
},
|
||||||
.for_header => |header| {
|
.for_header => |header| {
|
||||||
|
if (i != tokens.len - 1 and tokens[i + 1] == .whitespace and cb.strip_after) i += 1;
|
||||||
const subtemplate = parseTemplate(tokens, i + 1, .for_block);
|
const subtemplate = parseTemplate(tokens, i + 1, .for_block);
|
||||||
items = items ++ [_]TemplateItem{.{
|
items = items ++ [_]TemplateItem{.{
|
||||||
.statement = .{
|
.statement = .{
|
||||||
|
|
|
@ -9,12 +9,12 @@
|
||||||
<h2> {{ REAL BRACKETS }} </h2>
|
<h2> {{ REAL BRACKETS }} </h2>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
{= #for .baz |$f| =}
|
{#for .baz |$f| =}
|
||||||
{= #for $f |$b| =}
|
{= #for $f |$b| =}
|
||||||
{$b}:
|
{$b}:
|
||||||
{= /for =}
|
{= /for =}
|
||||||
{= /for =}
|
{= /for}
|
||||||
{#if .qux}qux!{/if}
|
{#if .qux}qux!{/if=}
|
||||||
{#if .quxx}quxx!{/if}
|
{#if .quxx}quxx!{/if}
|
||||||
</section>
|
</section>
|
||||||
</body>
|
</body>
|
||||||
|
|
Loading…
Reference in New Issue