From 668f4032dab7461060d52a2a836aabbaffa31db7 Mon Sep 17 00:00:00 2001 From: Stefan Haller Date: Tue, 10 Nov 2026 13:13:25 +0100 Subject: [PATCH] Extract a helper that stages all files and then runs a handler Prepares for using it when the user confirms the "No files staged" prompt too. Co-Authored-By: Claude Opus 5.5 --- .../helpers/working_tree_helper.go | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/pkg/gui/controllers/helpers/working_tree_helper.go b/pkg/gui/controllers/helpers/working_tree_helper.go index b7ce2f431..d4a48fa79 100644 --- a/pkg/gui/controllers/helpers/working_tree_helper.go +++ b/pkg/gui/controllers/helpers/working_tree_helper.go @@ -274,15 +274,7 @@ func (self *WorkingTreeHelper) WithEnsureCommittableFiles(handler func() error) } if self.c.UserConfig().Gui.SkipNoStagedFilesWarning { - self.c.LogAction(self.c.Tr.Actions.StageAllFiles) - if err := self.c.Git().WorkingTree.StageAll(false); err != nil { - return err - } - self.c.Refresh(types.RefreshOptions{ - Scope: []types.RefreshableView{types.FILES}, - Then: handler, - }) - return nil + return self.stageAllAndThen(handler) } return self.promptToStageAllAndRetry(handler) @@ -291,6 +283,18 @@ func (self *WorkingTreeHelper) WithEnsureCommittableFiles(handler func() error) return handler() } +func (self *WorkingTreeHelper) stageAllAndThen(then func() error) error { + self.c.LogAction(self.c.Tr.Actions.StageAllFiles) + if err := self.c.Git().WorkingTree.StageAll(false); err != nil { + return err + } + self.c.Refresh(types.RefreshOptions{ + Scope: []types.RefreshableView{types.FILES}, + Then: then, + }) + return nil +} + func (self *WorkingTreeHelper) promptToStageAllAndRetry(retry func() error) error { self.c.Confirm(types.ConfirmOpts{ Title: self.c.Tr.NoFilesStagedTitle,