Patch in content of previous block if it exists

Signed-off-by: Marcel Müller <neikos@neikos.email>
This commit is contained in:
Marcel Müller 2026-03-09 13:08:15 +01:00
parent ae379df9db
commit 6a233e978f
6 changed files with 34 additions and 29 deletions

View file

@ -122,9 +122,14 @@ fn emit_ast_expr(
{ {
previous_post_whitespace_content = post_whitespace_content; previous_post_whitespace_content = post_whitespace_content;
if let Some(ws) = prev_whitespace_content { if let Some(ws) = prev_whitespace_content {
eval.push(Instruction::AppendContent { eval.insert(
eval.len() - 2,
Instruction::AppendContent {
content: ws.source().clone(), content: ws.source().clone(),
}); },
);
let index_index = end_indices.len() - 1;
end_indices[index_index] += 1;
} }
if let TemplateAstExpr::IfConditional { expression } = &**expression { if let TemplateAstExpr::IfConditional { expression } = &**expression {

View file

@ -21,15 +21,15 @@ expression: emit
AppendContent { AppendContent {
content: "foo" (13..16), content: "foo" (13..16),
}, },
AppendContent {
content: " " (16..17),
},
Jump { Jump {
jump: 14, jump: 13,
}, },
AppendContent { AppendContent {
content: " " (12..13), content: " " (12..13),
}, },
AppendContent {
content: " " (16..17),
},
LoadFromContextToSlot { LoadFromContextToSlot {
name: "bar" (28..31), name: "bar" (28..31),
slot: VariableSlot { slot: VariableSlot {
@ -48,28 +48,28 @@ expression: emit
AppendContent { AppendContent {
content: "bar" (35..38), content: "bar" (35..38),
}, },
AppendContent {
content: " " (38..39),
},
Jump { Jump {
jump: 7, jump: 6,
}, },
AppendContent { AppendContent {
content: " " (34..35), content: " " (34..35),
}, },
AppendContent {
content: " " (38..39),
},
AppendContent { AppendContent {
content: " " (49..50), content: " " (49..50),
}, },
AppendContent { AppendContent {
content: "foobar" (50..56), content: "foobar" (50..56),
}, },
AppendContent {
content: " " (56..57),
},
Jump { Jump {
jump: 2, jump: 1,
}, },
AppendContent { AppendContent {
content: " " (49..50), content: " " (49..50),
}, },
AppendContent {
content: " " (56..57),
},
] ]

View file

@ -22,15 +22,15 @@ input_file: tests/cases/condition.nomo
AppendContent { AppendContent {
content: "Hello World!" (18..30), content: "Hello World!" (18..30),
}, },
AppendContent {
content: "\n" (30..31),
},
Jump { Jump {
jump: 3, jump: 2,
}, },
AppendContent { AppendContent {
content: "\n " (13..18), content: "\n " (13..18),
}, },
AppendContent {
content: "\n" (30..31),
},
AppendContent { AppendContent {
content: "\n\n" (40..42), content: "\n\n" (40..42),
}, },

View file

@ -22,15 +22,15 @@ input_file: tests/cases/if_else_if.nomo
AppendContent { AppendContent {
content: "Not Hello World! :C" (18..37), content: "Not Hello World! :C" (18..37),
}, },
AppendContent {
content: "\n" (37..38),
},
Jump { Jump {
jump: 9, jump: 8,
}, },
AppendContent { AppendContent {
content: "\n " (13..18), content: "\n " (13..18),
}, },
AppendContent {
content: "\n" (37..38),
},
LoadFromContextToSlot { LoadFromContextToSlot {
name: "another_test" (49..61), name: "another_test" (49..61),
slot: VariableSlot { slot: VariableSlot {
@ -49,13 +49,13 @@ input_file: tests/cases/if_else_if.nomo
AppendContent { AppendContent {
content: "Hello World!" (69..81), content: "Hello World!" (69..81),
}, },
AppendContent {
content: "\n" (81..82),
},
Jump { Jump {
jump: 2, jump: 1,
}, },
AppendContent { AppendContent {
content: "\n " (64..69), content: "\n " (64..69),
}, },
AppendContent {
content: "\n" (81..82),
},
] ]

View file

@ -3,4 +3,4 @@ source: tests/file_tests.rs
expression: output expression: output
input_file: tests/cases/condition.nomo input_file: tests/cases/condition.nomo
--- ---
"\n Hello World!\n\nmore" "\n Hello World!\n\n\nmore"

View file

@ -3,4 +3,4 @@ source: tests/file_tests.rs
expression: output expression: output
input_file: tests/cases/if_else_if.nomo input_file: tests/cases/if_else_if.nomo
--- ---
"\n\n Hello World!\n" "\n \n Hello World!\n\n "