Patch in content of previous block if it exists
Signed-off-by: Marcel Müller <neikos@neikos.email>
This commit is contained in:
parent
ae379df9db
commit
6a233e978f
6 changed files with 34 additions and 29 deletions
|
|
@ -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(
|
||||||
content: ws.source().clone(),
|
eval.len() - 2,
|
||||||
});
|
Instruction::AppendContent {
|
||||||
|
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 {
|
||||||
|
|
|
||||||
|
|
@ -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),
|
|
||||||
},
|
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -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),
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -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),
|
|
||||||
},
|
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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 "
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue