From 107bdfdd7658919691948f629adf2254cd6aa367 Mon Sep 17 00:00:00 2001 From: René Kijewski Date: Mon, 31 Jul 2023 20:54:47 +0200 Subject: Fix parsing calls This change: * adds a cut when the leading `(` was encountered, and * fixed the interaction between call expressions and boolean OR. --- askama_parser/src/expr.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'askama_parser/src/expr.rs') diff --git a/askama_parser/src/expr.rs b/askama_parser/src/expr.rs index ef5c5e2..ab7caff 100644 --- a/askama_parser/src/expr.rs +++ b/askama_parser/src/expr.rs @@ -68,10 +68,12 @@ pub enum Expr<'a> { impl<'a> Expr<'a> { pub(super) fn arguments(i: &'a str) -> IResult<&'a str, Vec> { - delimited( + preceded( ws(char('(')), - separated_list0(char(','), ws(Self::parse)), - ws(char(')')), + cut(terminated( + separated_list0(char(','), ws(Self::parse)), + char(')'), + )), )(i) } -- cgit