1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-08-24 19:39:16 +02:00

Extract methods suspend/resume on Gui struct

These suspend/resume the gocui layer and pause/unpause background refreshes.
This commit is contained in:
Stefan Haller
2025-08-03 08:11:52 +02:00
parent 376ca65807
commit af190ad280

View File

@@ -899,21 +899,36 @@ func (gui *Gui) runSubprocessWithSuspenseAndRefresh(subprocess *oscommands.CmdOb
return nil
}
func (gui *Gui) suspend() error {
if err := gui.g.Suspend(); err != nil {
return err
}
gui.BackgroundRoutineMgr.PauseBackgroundRefreshes(true)
return nil
}
func (gui *Gui) resume() error {
if err := gui.g.Resume(); err != nil {
return err
}
gui.BackgroundRoutineMgr.PauseBackgroundRefreshes(false)
return nil
}
// returns whether command exited without error or not
func (gui *Gui) runSubprocessWithSuspense(subprocess *oscommands.CmdObj) (bool, error) {
gui.Mutexes.SubprocessMutex.Lock()
defer gui.Mutexes.SubprocessMutex.Unlock()
if err := gui.g.Suspend(); err != nil {
if err := gui.suspend(); err != nil {
return false, err
}
gui.BackgroundRoutineMgr.PauseBackgroundRefreshes(true)
defer gui.BackgroundRoutineMgr.PauseBackgroundRefreshes(false)
cmdErr := gui.runSubprocess(subprocess)
if err := gui.g.Resume(); err != nil {
if err := gui.resume(); err != nil {
return false, err
}