summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2021-03-21 09:57:13 +1100
committerJesse Duffield <jessedduffield@gmail.com>2021-03-30 21:57:00 +1100
commit4782d8aa1f9f3917483aefa580ecc91ab37ec7dc (patch)
tree31263dfe9da6cadf29d3a03809b0f1d656abe39f
parentfe4e305410b127c8bad8be0df04e3353da4ee278 (diff)
bring merge conflicts to top
-rw-r--r--pkg/gui/status_line_manager.go4
-rw-r--r--pkg/gui/status_tree.go7
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
}