diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2021-03-21 09:57:13 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2021-03-30 21:57:00 +1100 |
commit | 4782d8aa1f9f3917483aefa580ecc91ab37ec7dc (patch) | |
tree | 31263dfe9da6cadf29d3a03809b0f1d656abe39f | |
parent | fe4e305410b127c8bad8be0df04e3353da4ee278 (diff) |
bring merge conflicts to top
-rw-r--r-- | pkg/gui/status_line_manager.go | 4 | ||||
-rw-r--r-- | 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 } |