]>
Commit | Line | Data |
---|---|---|
f035d41b XL |
1 | use std::path::Path; |
2 | ||
3 | use globwalk::{FileType, GlobWalkerBuilder}; | |
4 | ||
5 | use crate::settings::Settings; | |
6 | ||
7 | pub fn glob_exec<F: FnMut(&Path)>(base: &Path, pattern: &str, mut f: F) { | |
8 | let walker = GlobWalkerBuilder::new(base, pattern) | |
9 | .case_insensitive(true) | |
10 | .file_type(FileType::FILE) | |
11 | .build() | |
12 | .unwrap(); | |
13 | ||
14 | for file in walker { | |
15 | let file = file.unwrap(); | |
16 | let path = file.path(); | |
17 | ||
18 | let mut settings = Settings::clone_current(); | |
19 | settings.set_input_file(&path); | |
20 | settings.set_snapshot_suffix(path.file_name().unwrap().to_str().unwrap()); | |
21 | ||
22 | settings.bind(|| { | |
23 | f(path); | |
24 | }); | |
25 | } | |
26 | } |