From c10bc3b697ff28f140145711a61a806f1b061df3 Mon Sep 17 00:00:00 2001 From: Stefan Haller Date: Sun, 16 Aug 2026 09:27:33 +0200 Subject: [PATCH] Collect the paths of the files with conflicts, rather than only counting them The next commit needs to know which files have conflicts, not just how many of them there are. Co-authored-by: Claude Opus 5 (1M context) --- pkg/gui/controllers/helpers/refresh_helper.go | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/pkg/gui/controllers/helpers/refresh_helper.go b/pkg/gui/controllers/helpers/refresh_helper.go index 6d03b7f74..78d4c8c75 100644 --- a/pkg/gui/controllers/helpers/refresh_helper.go +++ b/pkg/gui/controllers/helpers/refresh_helper.go @@ -1376,12 +1376,9 @@ func (self *RefreshHelper) refreshStateFiles(captured capturedFilesState, env re Background: env.backgroundRoutine, }) - conflictFileCount := 0 - for _, file := range files { - if file.HasMergeConflicts { - conflictFileCount++ - } - } + conflictedPaths := lo.FilterMap(files, func(file *models.File, _ int) (string, bool) { + return file.Path, file.HasMergeConflicts + }) repoState := self.c.State().GetRepoState() workingTreeState := env.git.Status.WorkingTreeState() @@ -1391,7 +1388,7 @@ func (self *RefreshHelper) refreshStateFiles(captured capturedFilesState, env re repoState.SetMergeOrRebaseStartedInLazygit(false) } - if workingTreeState.Any() && conflictFileCount == 0 { + if workingTreeState.Any() && len(conflictedPaths) == 0 { if prevConflictFileCount > 0 && repoState.GetMergeOrRebaseStartedInLazygit() { // The conflicts of an operation we started have just been resolved // (e.g. in the user's editor). Offer to continue it. We only do this @@ -1429,12 +1426,12 @@ func (self *RefreshHelper) refreshStateFiles(captured capturedFilesState, env re self.onUIThreadUnlessRepoChanged(env, func() { // only taking over the filter if it hasn't already been set by the user. - if conflictFileCount > 0 && prevConflictFileCount == 0 { + if len(conflictedPaths) > 0 && prevConflictFileCount == 0 { if fileTreeViewModel.GetStatusFilter() == filetree.DisplayAll { fileTreeViewModel.SetStatusFilter(filetree.DisplayConflicted) self.c.Contexts().Files.GetView().Subtitle = self.c.Tr.FilterLabelConflictingFiles } - } else if conflictFileCount == 0 && fileTreeViewModel.GetStatusFilter() == filetree.DisplayConflicted { + } else if len(conflictedPaths) == 0 && fileTreeViewModel.GetStatusFilter() == filetree.DisplayConflicted { fileTreeViewModel.SetStatusFilterPreservingSelection(filetree.DisplayAll) self.c.Contexts().Files.GetView().Subtitle = "" }