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()?;