use winnow::ascii::space0; // from https://docs.rs/winnow/latest/winnow/_topic/language/index.html#whitespace use winnow::prelude::*; use winnow::{ascii::multispace0, combinator::delimited, error::ParserError}; /// A combinator that takes a parser `inner` and produces a parser that also consumes both leading and /// trailing whitespace, returning the output of `inner`. pub fn ws<'a, F, O, E: ParserError<&'a str>>(inner: F) -> impl Parser<&'a str, O, E> where F: Parser<&'a str, O, E>, { delimited(space0, inner, space0) }