diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index 33fa88331c9517da296d9048ce2b689ca8269598..1a124f31ae6eaeade8ed6abdc87bc3c15614b823 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -11457,7 +11457,7 @@ impl Editor { fn go_to_next_hunk(&mut self, _: &GoToHunk, window: &mut Window, cx: &mut Context) { let snapshot = self.snapshot(window, cx); let selection = self.selections.newest::(cx); - self.go_to_hunk_after_or_before_position( + self.go_to_hunk_before_or_after_position( &snapshot, selection.head(), Direction::Next, @@ -11466,7 +11466,7 @@ impl Editor { ); } - fn go_to_hunk_after_or_before_position( + fn go_to_hunk_before_or_after_position( &mut self, snapshot: &EditorSnapshot, position: Point, @@ -11517,7 +11517,7 @@ impl Editor { ) { let snapshot = self.snapshot(window, cx); let selection = self.selections.newest::(cx); - self.go_to_hunk_after_or_before_position( + self.go_to_hunk_before_or_after_position( &snapshot, selection.head(), Direction::Prev, @@ -13679,21 +13679,6 @@ impl Editor { return; } - let snapshot = self.snapshot(window, cx); - let newest_range = self.selections.newest::(cx).range(); - - let run_twice = snapshot - .hunks_for_ranges([newest_range]) - .first() - .is_some_and(|hunk| { - let next_line = Point::new(hunk.row_range.end.0 + 1, 0); - self.hunk_after_position(&snapshot, next_line) - .is_some_and(|other| other.row_range == hunk.row_range) - }); - - if run_twice { - self.go_to_next_hunk(&GoToHunk, window, cx); - } self.stage_or_unstage_diff_hunks(stage, ranges, cx); self.go_to_next_hunk(&GoToHunk, window, cx); } diff --git a/crates/editor/src/element.rs b/crates/editor/src/element.rs index fce72230dad943f866e07e036ca4b39fa81d6a25..407b0225d51e6a00bad404ba3cbea05906b7afd4 100644 --- a/crates/editor/src/element.rs +++ b/crates/editor/src/element.rs @@ -9010,7 +9010,7 @@ fn diff_hunk_controls( let snapshot = editor.snapshot(window, cx); let position = hunk_range.end.to_point(&snapshot.buffer_snapshot); - editor.go_to_hunk_after_or_before_position( + editor.go_to_hunk_before_or_after_position( &snapshot, position, Direction::Next, @@ -9046,7 +9046,7 @@ fn diff_hunk_controls( let snapshot = editor.snapshot(window, cx); let point = hunk_range.start.to_point(&snapshot.buffer_snapshot); - editor.go_to_hunk_after_or_before_position( + editor.go_to_hunk_before_or_after_position( &snapshot, point, Direction::Prev,