summaryrefslogtreecommitdiff
path: root/src/useflag/parsers.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/useflag/parsers.rs')
-rw-r--r--src/useflag/parsers.rs8
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)