fix: keep large-file editing responsive

Bound synchronous full-source syntax parsing, cache dirty comparisons, edit ordinary inline changes in place, retain changed-row undo history, and buffer atomic saves. Skip repository snapshots beyond existing worker limits before copying their text.
This commit is contained in:
2026-10-16 21:14:16 +02:00
parent 02d1422a04
commit adbd2c3f81
13 changed files with 639 additions and 55 deletions
+3
View File
@@ -109,6 +109,7 @@ impl Editor {
.is_some_and(|binding| binding.owner == self.tab_id)
{
buffer.saved_lines.clone_from(&buffer.lines);
buffer.dirty_cache.set(Some(false));
}
}
}
@@ -268,6 +269,7 @@ impl Editor {
}) {
buffer.review_buffer = None;
buffer.saved_lines.clone_from(&buffer.lines);
buffer.dirty_cache.set(Some(false));
}
}
self.autosave_local_review()?;
@@ -849,6 +851,7 @@ impl Editor {
self.active.lines = split_lines(text);
self.active.saved_lines.clone_from(&self.active.lines);
self.active.text_revision = self.active.text_revision.wrapping_add(1);
self.active.dirty_cache.set(Some(false));
self.normalize_targets();
}
} else {