@@ -386,7 +386,7 @@ fn matching_history_items<'a>(
.chars(),
),
};
- candidates_paths.insert(Arc::clone(&found_path.project.path), found_path);
+ candidates_paths.insert(&found_path.project, found_path);
Some((found_path.project.worktree_id, candidate))
})
.fold(
@@ -411,17 +411,21 @@ fn matching_history_items<'a>(
max_results,
)
.into_iter()
- .map(|path_match| {
- let (_, found_path) = candidates_paths
- .remove_entry(&path_match.path)
- .expect("candidate info not found");
- (
- Arc::clone(&path_match.path),
- Match::History {
- path: found_path.clone(),
- panel_match: Some(ProjectPanelOrdMatch(path_match)),
- },
- )
+ .filter_map(|path_match| {
+ candidates_paths
+ .remove_entry(&ProjectPath {
+ worktree_id: WorktreeId::from_usize(path_match.worktree_id),
+ path: Arc::clone(&path_match.path),
+ })
+ .map(|(_, found_path)| {
+ (
+ Arc::clone(&path_match.path),
+ Match::History {
+ path: found_path.clone(),
+ panel_match: Some(ProjectPanelOrdMatch(path_match)),
+ },
+ )
+ })
}),
);
}