From 4782d8aa1f9f3917483aefa580ecc91ab37ec7dc Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sun, 21 Mar 2021 09:57:13 +1100 Subject: [PATCH] bring merge conflicts to top --- pkg/gui/status_line_manager.go | 4 ---- pkg/gui/status_tree.go | 7 +++++++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pkg/gui/status_line_manager.go b/pkg/gui/status_line_manager.go index 66929c7fd..3631c338e 100644 --- a/pkg/gui/status_line_manager.go +++ b/pkg/gui/status_line_manager.go @@ -2,7 +2,6 @@ package gui import ( "fmt" - "sort" "strings" "github.com/jesseduffield/lazygit/pkg/commands/models" @@ -58,9 +57,6 @@ func (m *StatusLineManager) GetAllFiles() []*models.File { func (m *StatusLineManager) SetFiles(files []*models.File) { m.Files = files - sort.SliceStable(m.Files, func(i, j int) bool { - return m.Files[i].Name < m.Files[j].Name - }) m.SetTree() } diff --git a/pkg/gui/status_tree.go b/pkg/gui/status_tree.go index c0abbe0c0..b7edf24e0 100644 --- a/pkg/gui/status_tree.go +++ b/pkg/gui/status_tree.go @@ -3,6 +3,7 @@ package gui import ( "os" "path/filepath" + "sort" "strings" "github.com/jesseduffield/lazygit/pkg/commands/models" @@ -62,5 +63,11 @@ func GetFlatTreeFromStatusFiles(files []*models.File) *models.StatusLineNode { root.Sort() + // Move merge conflicts to top. This is the one way in which sorting + // differs between flat mode and tree mode + sort.SliceStable(root.Children, func(i, j int) bool { + return root.Children[i].File != nil && root.Children[i].File.HasMergeConflicts && !(root.Children[j].File != nil && root.Children[j].File.HasMergeConflicts) + }) + return root }