From c512c72b634d9e3f7c907846ee111f68cf41dbbb Mon Sep 17 00:00:00 2001 From: Erin van der Veen Date: Mon, 13 Apr 2026 03:44:23 +0200 Subject: [PATCH] git_ui: Toggle directory expansion with Enter key in tree view (#52965) Semantics and code was mostly taken from the existing behaviour of the Left/Right arrow keys. Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [ ] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Closes #51986 Release Notes: - Added ability to toggle tree collapse in git panel --- crates/git_ui/src/git_panel.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/crates/git_ui/src/git_panel.rs b/crates/git_ui/src/git_panel.rs index a6f1e097cfe1cc0c012ff77987011571760b3ef0..6d4c73dd57b1ebc78d6525abb416741c783c7d67 100644 --- a/crates/git_ui/src/git_panel.rs +++ b/crates/git_ui/src/git_panel.rs @@ -1272,6 +1272,14 @@ impl GitPanel { } fn open_diff(&mut self, _: &menu::Confirm, window: &mut Window, cx: &mut Context) { + if let Some(GitListEntry::Directory(dir_entry)) = self + .selected_entry + .and_then(|i| self.entries.get(i)) + .cloned() + { + self.toggle_directory(&dir_entry.key, window, cx); + return; + } maybe!({ let entry = self.entries.get(self.selected_entry?)?.status_entry()?; let workspace = self.workspace.upgrade()?;