Function winnow::combinator::peek

source ·
pub fn peek<I: Stream, O, E: ParseError<I>, F>(
    f: F
) -> impl FnMut(I) -> IResult<I, O, E>where
    F: Parser<I, O, E>,
Expand description

Tries to apply its parser without consuming the input.

Example

use winnow::combinator::peek;
use winnow::character::alpha1;

let mut parser = peek(alpha1);

assert_eq!(parser("abcd;"), Ok(("abcd;", "abcd")));
assert_eq!(parser("123;"), Err(ErrMode::Backtrack(Error::new("123;", ErrorKind::Alpha))));