diff options
Diffstat (limited to 'src/useflag/parsers.rs')
| -rw-r--r-- | src/useflag/parsers.rs | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/useflag/parsers.rs b/src/useflag/parsers.rs index d9aaf21..fc371a6 100644 --- a/src/useflag/parsers.rs +++ b/src/useflag/parsers.rs @@ -1,4 +1,4 @@ -use mon::{Parser, ParserIter, r#if, tag}; +use mon::{Parser, ParserIter, alphanumeric, one_of, tag}; use crate::{ Parseable, @@ -9,10 +9,8 @@ impl<'a> Parseable<'a, &'a str> for UseFlag { type Parser = impl Parser<&'a str, Output = Self>; fn parser() -> Self::Parser { - let start = r#if(|c: &char| c.is_ascii_alphanumeric()); - let rest = r#if(|c: &char| c.is_ascii_alphanumeric() || "+_@-".contains(*c)) - .repeated() - .many(); + let start = alphanumeric(); + let rest = alphanumeric().or(one_of("+_@-".chars())).repeated().many(); start .and(rest) |
