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:
+10
-2
@@ -3976,13 +3976,21 @@ impl WheelPanels {
|
||||
} else {
|
||||
let content = diff_pane_panel(frame, diff, selected, panes, true, resolver);
|
||||
frame.render_widget(
|
||||
Paragraph::new(if diff.loading {
|
||||
Paragraph::new(display_text(if diff.loading {
|
||||
"Loading file…"
|
||||
} else if let Some(error) = diff.error.as_deref() {
|
||||
error
|
||||
} else if selected.is_some() {
|
||||
"File details unavailable · select the file to retry"
|
||||
} else {
|
||||
"No changed files"
|
||||
}),
|
||||
}))
|
||||
.wrap(Wrap { trim: false })
|
||||
.style(Style::default().fg(if diff.error.is_some() {
|
||||
Color::Red
|
||||
} else {
|
||||
Color::Reset
|
||||
})),
|
||||
content,
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user