Make "I AM NOT DONE" caseless

This commit is contained in:
mo8it 2024-03-24 22:22:55 +01:00
parent c0c112985b
commit bdf826a026

View file

@ -5,7 +5,7 @@ use std::io::{self, BufRead, BufReader};
use std::path::PathBuf; use std::path::PathBuf;
use std::process::{self, Command}; use std::process::{self, Command};
use std::{array, env, mem}; use std::{array, env, mem};
use winnow::ascii::{space0, space1}; use winnow::ascii::{space0, Caseless};
use winnow::combinator::opt; use winnow::combinator::opt;
use winnow::Parser; use winnow::Parser;
@ -21,13 +21,7 @@ fn not_done(input: &str) -> bool {
"//", "//",
opt('/'), opt('/'),
space0, space0,
'I', Caseless("I AM NOT DONE"),
space1,
"AM",
space1,
"NOT",
space1,
"DONE",
) )
.parse_next(&mut &*input) .parse_next(&mut &*input)
.is_ok() .is_ok()
@ -439,14 +433,12 @@ mod test {
assert!(not_done("// I AM NOT DONE")); assert!(not_done("// I AM NOT DONE"));
assert!(not_done("/// I AM NOT DONE")); assert!(not_done("/// I AM NOT DONE"));
assert!(not_done("// I AM NOT DONE ")); assert!(not_done("// I AM NOT DONE "));
assert!(not_done("// I AM NOT DONE"));
assert!(not_done("// I AM NOT DONE"));
assert!(not_done("// I AM NOT DONE "));
assert!(not_done("// I AM NOT DONE!")); assert!(not_done("// I AM NOT DONE!"));
assert!(not_done("// I am not done"));
assert!(not_done("// i am NOT done"));
assert!(!not_done("I AM NOT DONE")); assert!(!not_done("I AM NOT DONE"));
assert!(!not_done("// NOT DONE")); assert!(!not_done("// NOT DONE"));
assert!(!not_done("DONE")); assert!(!not_done("DONE"));
assert!(!not_done("// i am not done"));
} }
} }