aboutsummaryrefslogtreecommitdiffstats
path: root/askama_parser/src/node.rs
diff options
context:
space:
mode:
Diffstat (limited to 'askama_parser/src/node.rs')
-rw-r--r--askama_parser/src/node.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/askama_parser/src/node.rs b/askama_parser/src/node.rs
index f25f25a..1909f6c 100644
--- a/askama_parser/src/node.rs
+++ b/askama_parser/src/node.rs
@@ -47,7 +47,7 @@ impl<'a> Node<'a> {
}
fn parse(i: &'a str, s: &State<'_>) -> IResult<&'a str, Self> {
- let mut p = tuple((
+ let mut p = delimited(
|i| s.tag_block_start(i),
alt((
map(Call::parse, Self::Call),
@@ -65,9 +65,13 @@ impl<'a> Node<'a> {
|i| Self::r#continue(i, s),
)),
cut(|i| s.tag_block_end(i)),
- ));
- let (i, (_, contents, _)) = p(i)?;
- Ok((i, contents))
+ );
+
+ s.nest(i)?;
+ let result = p(i);
+ s.leave();
+
+ result
}
fn r#break(i: &'a str, s: &State<'_>) -> IResult<&'a str, Self> {