pub fn paths_by_extension(paths: Vec<PathBuf>) -> HashMap<String, Vec<PathBuf>>
partition paths by path extension