From efd42b5e8287ba16dcb60a09c86d6b236918dd7c Mon Sep 17 00:00:00 2001 From: Wesley Moore Date: Sun, 16 Jul 2023 16:21:19 +1000 Subject: [PATCH] Handle constants like ONE_TWO_THREE Fixes #129 --- src/expression.rs | 2 +- src/template.rs | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/expression.rs b/src/expression.rs index 0e4f386..a8f6a49 100644 --- a/src/expression.rs +++ b/src/expression.rs @@ -55,7 +55,7 @@ pub fn rust_name(input: &[u8]) -> PResult<&str> { map_res( recognize(pair( alt((tag("_"), alpha1)), - opt(is_a("_0123456789abcdefghijklmnopqrstuvwxyz")), + opt(is_a("_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")), )), input_to_str, )(input) diff --git a/src/template.rs b/src/template.rs index d9cef9f..a68a3fc 100644 --- a/src/template.rs +++ b/src/template.rs @@ -241,6 +241,11 @@ mod test { check_type_expr("SomeTypeWithRef<'_>"); } + #[test] + fn multiword_constant() { + check_type_expr("ONE_TWO_THREE"); + } + fn check_type_expr(expr: &str) { assert_eq!(type_expression(expr.as_bytes()), Ok((&b""[..], ()))); }