pub fn peek<Input, Output, Error, ParseNext>(
parser: ParseNext,
) -> impl Parser<Input, Output, Error>
Expand description
Apply the parser without advancing the input.
To lookahead and only advance on success, see opt
.
§Example
use winnow::combinator::peek;
use winnow::ascii::alpha1;
fn parser<'i>(input: &mut &'i str) -> ModalResult<&'i str> {
peek(alpha1).parse_next(input)
}
assert_eq!(parser.parse_peek("abcd;"), Ok(("abcd;", "abcd")));
assert!(parser.parse_peek("123;").is_err());