fix: support large files in comparisons

Replace the 16 MiB comparison rejection with independent bounded per-side loading and frozen Working blobs. Bound diff computation, defer large inline highlighting, index source-row navigation, and expose actual load failures. Verified the real 52.3 MB parser through repository/session APIs and terminal rendering with EOF/start navigation.
This commit is contained in:
2026-10-17 00:03:43 +02:00
parent adbd2c3f81
commit b9f29d258c
11 changed files with 986 additions and 199 deletions
+1 -2
View File
@@ -11797,8 +11797,7 @@ impl Editor {
.and_then(|focus| self.diff().map(|diff| (diff, focus)));
(start..if diff.is_none() { end } else { start }).chain(
diff.into_iter()
.flat_map(|(diff, focus)| diff.source_rows(focus))
.filter(move |row| start <= *row && *row < end),
.flat_map(move |(diff, focus)| diff.source_rows_in(focus, start, end)),
)
}