Sync newly added diff hunks (#21759)

Fixed project diff multi buffer not expanding its diff until edited

Release Notes:

- N/A
This commit is contained in:
Kirill Bulatov 2024-12-09 21:43:25 +02:00 committed by GitHub
parent a5355e92e3
commit 25a5ad54ae
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 6 deletions

View file

@ -243,7 +243,7 @@ impl ProjectDiffEditor {
.map_err(|_| anyhow!("Unexpected non-buffer"))
})
.with_context(|| {
format!("loading {} for git diff", entry_path.path.display())
format!("loading {:?} for git diff", entry_path.path)
})
.log_err()
else {
@ -313,11 +313,11 @@ impl ProjectDiffEditor {
project_diff_editor
.update(&mut cx, |project_diff_editor, cx| {
project_diff_editor.update_excerpts(id, new_changes, new_entry_order, cx);
for change_set in change_sets {
project_diff_editor.editor.update(cx, |editor, cx| {
for change_set in change_sets {
editor.diff_map.add_change_set(change_set, cx)
});
}
});
})
.ok();
}),

View file

@ -89,7 +89,6 @@ impl DiffMap {
self.snapshot
.0
.insert(buffer_id, change_set.read(cx).diff_to_buffer.clone());
Editor::sync_expanded_diff_hunks(self, buffer_id, cx);
self.diff_bases.insert(
buffer_id,
DiffBaseState {
@ -105,6 +104,7 @@ impl DiffMap {
change_set,
},
);
Editor::sync_expanded_diff_hunks(self, buffer_id, cx);
}
pub fn hunks(&self, include_folded: bool) -> impl Iterator<Item = &ExpandedHunk> {