Skip to content

Commit c626e77

Browse files
outline_panel: Remove toggle expanded behavior from OpenSelectedEntry (#42214)
Fixed outline panel space key behavior by removing duplicate toggle call The `open_selected_entry` function in `outline_panel.rs` was incorrectly calling `self.toggle_expanded(&selected_entry, window, cx)` in addition to its primary logic, causing the space key to both open/close entries AND toggle their expanded state. Removed the redundant `toggle_expanded` call to achieve the intended behavior. Closes #41711 Release Notes: - Fixed issue with the outline panel where pressing space would cause an open selected entry to collapse and cause a closed selected entry to open. --------- Co-authored-by: Smit Barmase <[email protected]>
1 parent fa0c750 commit c626e77

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

crates/outline_panel/src/outline_panel.rs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -986,7 +986,6 @@ impl OutlinePanel {
986986
if self.filter_editor.focus_handle(cx).is_focused(window) {
987987
cx.propagate()
988988
} else if let Some(selected_entry) = self.selected_entry().cloned() {
989-
self.toggle_expanded(&selected_entry, window, cx);
990989
self.scroll_editor_to_entry(&selected_entry, true, true, window, cx);
991990
}
992991
}
@@ -5845,7 +5844,7 @@ mod tests {
58455844
}
58465845

58475846
#[gpui::test]
5848-
async fn test_multiple_workrees(cx: &mut TestAppContext) {
5847+
async fn test_multiple_worktrees(cx: &mut TestAppContext) {
58495848
init_test(cx);
58505849

58515850
let fs = FakeFs::new(cx.background_executor.clone());
@@ -5951,7 +5950,7 @@ two/
59515950

59525951
outline_panel.update_in(cx, |outline_panel, window, cx| {
59535952
outline_panel.select_previous(&SelectPrevious, window, cx);
5954-
outline_panel.open_selected_entry(&OpenSelectedEntry, window, cx);
5953+
outline_panel.collapse_selected_entry(&CollapseSelectedEntry, window, cx);
59555954
});
59565955
cx.executor()
59575956
.advance_clock(UPDATE_DEBOUNCE + Duration::from_millis(100));
@@ -5977,7 +5976,7 @@ two/
59775976

59785977
outline_panel.update_in(cx, |outline_panel, window, cx| {
59795978
outline_panel.select_next(&SelectNext, window, cx);
5980-
outline_panel.open_selected_entry(&OpenSelectedEntry, window, cx);
5979+
outline_panel.collapse_selected_entry(&CollapseSelectedEntry, window, cx);
59815980
});
59825981
cx.executor()
59835982
.advance_clock(UPDATE_DEBOUNCE + Duration::from_millis(100));
@@ -6000,7 +5999,7 @@ two/ <==== selected"#,
60005999
});
60016000

60026001
outline_panel.update_in(cx, |outline_panel, window, cx| {
6003-
outline_panel.open_selected_entry(&OpenSelectedEntry, window, cx);
6002+
outline_panel.expand_selected_entry(&ExpandSelectedEntry, window, cx);
60046003
});
60056004
cx.executor()
60066005
.advance_clock(UPDATE_DEBOUNCE + Duration::from_millis(100));
@@ -7532,7 +7531,7 @@ outline: fn main()"
75327531

75337532
cx.update(|window, cx| {
75347533
outline_panel.update(cx, |outline_panel, cx| {
7535-
outline_panel.open_selected_entry(&OpenSelectedEntry, window, cx);
7534+
outline_panel.collapse_selected_entry(&CollapseSelectedEntry, window, cx);
75367535
});
75377536
});
75387537

@@ -7564,7 +7563,7 @@ outline: fn main()"
75647563

75657564
cx.update(|window, cx| {
75667565
outline_panel.update(cx, |outline_panel, cx| {
7567-
outline_panel.open_selected_entry(&OpenSelectedEntry, window, cx);
7566+
outline_panel.expand_selected_entry(&ExpandSelectedEntry, window, cx);
75687567
});
75697568
});
75707569

0 commit comments

Comments
 (0)