Fix select and ignore

This commit is contained in:
Charlie Marsh 2022-08-28 14:35:29 -04:00
parent 91e24ebd73
commit 2cd15c3349
2 changed files with 9 additions and 4 deletions

View file

@ -116,7 +116,7 @@ fn inner_main() -> Result<ExitCode> {
let paths: Vec<&Path> = cli.files.iter().map(PathBuf::as_path).collect();
let mut settings = Settings::from_paths(paths)?;
if !cli.select.is_empty() {
settings.select(&cli.select);
settings.select(cli.select);
}
if !cli.ignore.is_empty() {
settings.ignore(&cli.ignore);

View file

@ -55,11 +55,16 @@ impl Settings {
})
}
pub fn select(&mut self, codes: &[CheckCode]) {
self.select.retain(|code| codes.contains(code));
pub fn select(&mut self, codes: Vec<CheckCode>) {
self.select.clear();
for code in codes {
self.select.insert(code);
}
}
pub fn ignore(&mut self, codes: &[CheckCode]) {
self.select.retain(|code| !codes.contains(code));
for code in codes {
self.select.remove(code);
}
}
}