Deduplicate /tab all buffers inserted (#16681)
Closes https://github.com/zed-industries/zed/issues/16678 Release Notes: - Fixed `/tab all` inserting duplicate buffers ([!16678](https://github.com/zed-industries/zed/issues/16678))
This commit is contained in:
parent
912ed20a3b
commit
72b5cda356
1 changed files with 6 additions and 3 deletions
|
@ -197,6 +197,7 @@ fn tab_items_for_queries(
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut timestamps_by_entity_id = HashMap::default();
|
let mut timestamps_by_entity_id = HashMap::default();
|
||||||
|
let mut visited_buffers = HashSet::default();
|
||||||
let mut open_buffers = Vec::new();
|
let mut open_buffers = Vec::new();
|
||||||
|
|
||||||
for pane in workspace.panes() {
|
for pane in workspace.panes() {
|
||||||
|
@ -211,12 +212,14 @@ fn tab_items_for_queries(
|
||||||
if let Some(timestamp) =
|
if let Some(timestamp) =
|
||||||
timestamps_by_entity_id.get(&editor.entity_id())
|
timestamps_by_entity_id.get(&editor.entity_id())
|
||||||
{
|
{
|
||||||
|
if visited_buffers.insert(buffer.read(cx).remote_id()) {
|
||||||
let snapshot = buffer.read(cx).snapshot();
|
let snapshot = buffer.read(cx).snapshot();
|
||||||
let full_path = snapshot.resolve_file_path(cx, true);
|
let full_path = snapshot.resolve_file_path(cx, true);
|
||||||
open_buffers.push((full_path, snapshot, *timestamp));
|
open_buffers.push((full_path, snapshot, *timestamp));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Ok(open_buffers)
|
Ok(open_buffers)
|
||||||
})??;
|
})??;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue