pub fn scan_directory(dir: &Path) -> Vec<(PathBuf, Language)>
Scan a directory and detect all source files with their languages.