13 lines
535 B
Rust
13 lines
535 B
Rust
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)
|
|
}
|