oni_comb_parser/text/
lexeme.rs1use crate::combinator::zip_left::ZipLeft;
2use crate::parser::Parser;
3use crate::parser_ext::ParserExt;
4use crate::str_input::StrInput;
5use crate::text::take_while0::{take_while0, TakeWhile0};
6
7fn is_ws(c: char) -> bool {
8 c.is_ascii_whitespace()
9}
10
11pub fn lexeme<'a, P>(parser: P) -> ZipLeft<P, TakeWhile0<fn(char) -> bool>>
18where
19 P: Parser<StrInput<'a>, Error = crate::error::ParseError>, {
20 parser.zip_left(take_while0(is_ws as fn(char) -> bool))
21}