diff --git a/concatsql_macro/Cargo.toml b/concatsql_macro/Cargo.toml index b36acdd..59d2dee 100644 --- a/concatsql_macro/Cargo.toml +++ b/concatsql_macro/Cargo.toml @@ -18,7 +18,7 @@ proc-macro2 = "1.0" proc-macro-error = "1.0" syn = { version = "2.0", features = ["full", "extra-traits"] } quote = "1.0" -nom = "7" +nom = "8.0.0" [dev-dependencies] concatsql = { version = "0.5", path = "../concatsql" } diff --git a/concatsql_macro/src/lib.rs b/concatsql_macro/src/lib.rs index b871b7c..e46e520 100644 --- a/concatsql_macro/src/lib.rs +++ b/concatsql_macro/src/lib.rs @@ -5,7 +5,7 @@ use nom::{ bytes::complete::tag, character::complete::{char, none_of}, multi::{many0, many1}, - IResult, + IResult, Parser, }; use proc_macro::TokenStream; use proc_macro2::{Ident, Span}; @@ -68,17 +68,18 @@ impl FormatParser { FormatParser::brace_close, FormatParser::param, FormatParser::lit, - )))(input) + ))) + .parse(input) } fn lit(input: &str) -> IResult<&str, Query> { - let (input, lit) = many1(none_of("{}"))(input)?; + let (input, lit) = many1(none_of("{}")).parse(input)?; Ok((input, Query::Lit(lit.into_iter().collect()))) } fn param(input: &str) -> IResult<&str, Query> { let (input, _) = char('{')(input)?; - let (input, param) = many1(none_of("}"))(input)?; + let (input, param) = many1(none_of("}")).parse(input)?; let (input, _) = char('}')(input)?; let param = param.into_iter().collect::(); Ok((input, Query::Param(param.trim().to_string())))