project search: Fix filtering when buffers are open (#16997)

This fixes a little bug that has snuck in #16923

Release Notes:

- N/A
This commit is contained in:
Thorsten Ball 2024-08-28 13:39:53 +02:00 committed by GitHub
parent a5b82b2bf3
commit 4e67d33d88
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -471,17 +471,6 @@ impl WorktreeStore {
continue;
}
if open_entries.contains(&entry.id) {
let (mut tx, rx) = oneshot::channel();
tx.send(ProjectPath {
worktree_id: snapshot.id(),
path: entry.path.clone(),
})
.await?;
output_tx.send(rx).await?;
continue;
}
if query.filters_path() {
let matched_path = if include_root {
let mut full_path = PathBuf::from(snapshot.root_name());
@ -495,18 +484,28 @@ impl WorktreeStore {
}
}
let (tx, rx) = oneshot::channel();
output_tx.send(rx).await?;
filter_tx
.send(MatchingEntry {
respond: tx,
worktree_path: snapshot.abs_path().clone(),
path: ProjectPath {
worktree_id: snapshot.id(),
path: entry.path.clone(),
},
let (mut tx, rx) = oneshot::channel();
if open_entries.contains(&entry.id) {
tx.send(ProjectPath {
worktree_id: snapshot.id(),
path: entry.path.clone(),
})
.await?;
} else {
filter_tx
.send(MatchingEntry {
respond: tx,
worktree_path: snapshot.abs_path().clone(),
path: ProjectPath {
worktree_id: snapshot.id(),
path: entry.path.clone(),
},
})
.await?;
}
output_tx.send(rx).await?;
}
}
Ok(())