acta_build/lib.rs
1use walkdir::WalkDir;
2
3pub fn walk_src_max_width(dir: &str, strip_prefix: &str) -> usize {
4 WalkDir::new(dir)
5 .into_iter()
6 .filter_map(|e| e.ok())
7 .filter(|e| e.path().extension().is_some_and(|ext| ext == "rs"))
8 .map(|e| {
9 let display = e.path().to_string_lossy().replace('\\', "/");
10 display
11 .find(strip_prefix)
12 .map(|i| &display[i + strip_prefix.len()..])
13 .unwrap_or(&display)
14 .len()
15 })
16 .max()
17 .unwrap_or(16) + 4
18}