mirror of
https://github.com/crate-ci/typos.git
synced 2024-11-25 10:31:02 -05:00
refactor(varcon): Pull out entry parser
This commit is contained in:
parent
1e9d9813a0
commit
0068450bf1
1 changed files with 16 additions and 7 deletions
|
@ -1001,13 +1001,11 @@ impl Entry {
|
||||||
))
|
))
|
||||||
.parse_next(input)?;
|
.parse_next(input)?;
|
||||||
let archaic =
|
let archaic =
|
||||||
winnow::combinator::opt((winnow::ascii::space1, "(-)")).parse_next(input)?;
|
winnow::combinator::opt((winnow::ascii::space1, archaic)).parse_next(input)?;
|
||||||
let note = winnow::combinator::opt((winnow::ascii::space1, "--")).parse_next(input)?;
|
let note =
|
||||||
let description = winnow::combinator::opt((
|
winnow::combinator::opt((winnow::ascii::space1, NOTE_PREFIX)).parse_next(input)?;
|
||||||
winnow::ascii::space1,
|
let description =
|
||||||
winnow::token::take_till(0.., ('\n', '\r', '#')),
|
winnow::combinator::opt((winnow::ascii::space1, description)).parse_next(input)?;
|
||||||
))
|
|
||||||
.parse_next(input)?;
|
|
||||||
|
|
||||||
let variants = Vec::new();
|
let variants = Vec::new();
|
||||||
let pos = pos.map(|(_, p)| p);
|
let pos = pos.map(|(_, p)| p);
|
||||||
|
@ -1028,6 +1026,17 @@ impl Entry {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const NOTE_PREFIX: &str = "--";
|
||||||
|
|
||||||
|
fn archaic(input: &mut &str) -> PResult<(), ()> {
|
||||||
|
"(-)".void().parse_next(input)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn description(input: &mut &str) -> PResult<String, ()> {
|
||||||
|
let description = winnow::token::take_till(0.., ('\n', '\r', '#')).parse_next(input)?;
|
||||||
|
Ok(description.to_owned())
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod test_entry {
|
mod test_entry {
|
||||||
#![allow(clippy::bool_assert_comparison)]
|
#![allow(clippy::bool_assert_comparison)]
|
||||||
|
|
Loading…
Reference in a new issue