diff --git a/crates/fuzzy/src/paths.rs b/crates/fuzzy/src/paths.rs index 2c5ce81b1c..a5ad46b5e7 100644 --- a/crates/fuzzy/src/paths.rs +++ b/crates/fuzzy/src/paths.rs @@ -198,6 +198,25 @@ fn distance_between_paths(path: &Path, relative_to: &Path) -> usize { let mut path_components = path.components(); let mut relative_components = relative_to.components(); - while path_components.next() == relative_components.next() {} + // while path_components.next() == relative_components.next() {} + + while path_components + .next() + .zip(relative_components.next()) + .map(|(path_component, relative_component)| path_component == relative_component) + .unwrap_or_default() + {} path_components.count() + relative_components.count() + 1 } + +#[cfg(test)] +mod tests { + use std::path::Path; + + use super::distance_between_paths; + + #[test] + fn test_distance_between_paths_empty() { + distance_between_paths(Path::new(""), Path::new("")); + } +}