pub fn peek<O>(p: Parser<O>) -> Parser<O>
Expand description

Apply the given parser, and if it fails, don’t consume any input.

use memoir::*;

let p = choice([
    peek(string("leave").skip(whitespace()).then(string("england"))),
    peek(string("leave").skip(whitespace()).then(string("france"))),
]);

assert!(p.parse("leave england").is_ok());
assert!(p.parse("leave france").is_ok());