fix: synchronize horizontal scrolling between diff panes

This commit is contained in:
2026-10-11 14:50:36 +02:00
parent 165930fc1e
commit 7b4bc80538
3 changed files with 19 additions and 9 deletions
+4 -4
View File
@@ -4317,16 +4317,16 @@ mod tests {
.unwrap();
assert!(screen_text(&terminal).contains("ore.before."));
assert_eq!(session.editor().diff().unwrap().left_before, 3);
assert_eq!(session.editor().diff().unwrap().left_after, 0);
assert_eq!(session.editor().diff().unwrap().left_after, 3);
let mut shift = document_wheel(MouseEventKind::ScrollDown, after.x + 1, after.y + 1);
shift.modifiers = KeyModifiers::SHIFT;
assert!(viewports.scroll(&mut session, shift));
terminal
.draw(|frame| viewports.draw_session(frame, &mut session))
.unwrap();
assert!(screen_text(&terminal).contains("er.after."));
assert_eq!(session.editor().diff().unwrap().left_before, 3);
assert_eq!(session.editor().diff().unwrap().left_after, 3);
assert!(screen_text(&terminal).contains("after.after."));
assert_eq!(session.editor().diff().unwrap().left_before, 6);
assert_eq!(session.editor().diff().unwrap().left_after, 6);
assert_eq!(session.editor().diff().unwrap().top, 0);
assert_eq!(session.editor().diff().unwrap().focus, initial_focus);
assert_eq!(session.editor().cursor(), initial_cursor);