From c82db307b0456e2a901599516b14f0d92e9cc682 Mon Sep 17 00:00:00 2001 From: Dave Poulter Date: Tue, 8 Oct 2019 11:17:38 +0200 Subject: Add support for boolean literals --- askama_derive/src/parser.rs | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'askama_derive/src/parser.rs') diff --git a/askama_derive/src/parser.rs b/askama_derive/src/parser.rs index b8fa94d..eaa4b62 100644 --- a/askama_derive/src/parser.rs +++ b/askama_derive/src/parser.rs @@ -8,6 +8,7 @@ use askama_shared::Syntax; #[derive(Debug)] pub enum Expr<'a> { + BoolLit(&'a str), NumLit(&'a str), StrLit(&'a str), Var(&'a str), @@ -200,6 +201,11 @@ fn non_ascii(chr: u8) -> bool { chr >= 0x80 && chr <= 0xFD } +named!(expr_bool_lit, map!( + alt!(tag!("true") | tag!("false")), + |s| Expr::BoolLit(str::from_utf8(&s).unwrap()) +)); + named!(num_lit, map!(nom::digit, |s| str::from_utf8(s.0).unwrap() )); @@ -376,6 +382,7 @@ named!(expr_group, map!( )); named!(expr_single, alt!( + expr_bool_lit | expr_num_lit | expr_str_lit | expr_path | -- cgit