From c056d6287b0616aea9bc9fab43bcca97d0e86d23 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Tue, 24 Oct 2023 11:06:16 +0200 Subject: Improve error for invalid name used in `endmacro` --- askama_parser/src/node.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'askama_parser/src/node.rs') diff --git a/askama_parser/src/node.rs b/askama_parser/src/node.rs index b321c80..93fca73 100644 --- a/askama_parser/src/node.rs +++ b/askama_parser/src/node.rs @@ -484,7 +484,13 @@ impl<'a> Macro<'a> { |i| s.tag_block_start(i), opt(Whitespace::parse), ws(keyword("endmacro")), - cut(preceded(ws(opt(keyword(name))), opt(Whitespace::parse))), + cut(preceded( + opt(|before| { + let (after, end_name) = ws(identifier)(before)?; + check_end_name(before, after, name, end_name, "macro") + }), + opt(Whitespace::parse), + )), ))), ))); let (i, (contents, (_, pws2, _, nws2))) = end(i)?; -- cgit