diff --git a/crates/git_ui/src/git_panel.rs b/crates/git_ui/src/git_panel.rs index 07a59de02a16390ebb97550ecefe075514dda2aa..f64f001241e1f84f1b3785b78f8495f17c23deb1 100644 --- a/crates/git_ui/src/git_panel.rs +++ b/crates/git_ui/src/git_panel.rs @@ -1738,7 +1738,7 @@ impl GitPanel { self.pending_commit = Some(task); } - fn uncommit(&mut self, window: &mut Window, cx: &mut Context) { + pub(crate) fn uncommit(&mut self, window: &mut Window, cx: &mut Context) { let Some(repo) = self.active_repository.clone() else { return; }; diff --git a/crates/git_ui/src/git_ui.rs b/crates/git_ui/src/git_ui.rs index 5369b8b404ba7005bf738f4515d20b3fe4163a48..ffb1a74728eef2a16200ba9e7b05b3a7ab3bd134 100644 --- a/crates/git_ui/src/git_ui.rs +++ b/crates/git_ui/src/git_ui.rs @@ -149,6 +149,14 @@ pub fn init(cx: &mut App) { panel.unstage_all(action, window, cx); }); }); + workspace.register_action(|workspace, _: &git::Uncommit, window, cx| { + let Some(panel) = workspace.panel::(cx) else { + return; + }; + panel.update(cx, |panel, cx| { + panel.uncommit(window, cx); + }) + }); CommandPaletteFilter::update_global(cx, |filter, _cx| { filter.hide_action_types(&[ zed_actions::OpenGitIntegrationOnboarding.type_id(),