Function chumsky::primitive::filter[][src]

pub fn filter<I, F: Fn(&I) -> bool, E>(f: F) -> Filter<F, E>
Expand description

A parser that accepts only tokens that match the given predicate.

Examples

use chumsky::prelude::*;

let lowercase = filter::<_, _, Simple<char>>(char::is_ascii_lowercase)
    .repeated_at_least(1)
    .padded_by(end())
    .collect::<String>();

assert_eq!(lowercase.parse("hello"), Ok("hello".to_string()));
assert!(lowercase.parse("Hello").is_err());