summaryrefslogtreecommitdiffstats
path: root/pkg/gui/commits_panel.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2018-09-20 09:41:29 +1000
committerJesse Duffield <jessedduffield@gmail.com>2018-09-20 09:41:29 +1000
commit8fac19c17575c78753a0ed4e8116312ca3d5573e (patch)
treeddc9096070bd9f96a9320b04419d4178fe7bb998 /pkg/gui/commits_panel.go
parentc789bba673da883af4d812a85819d6309c915f34 (diff)
parent7b90d2496b56d89863b552b226f45b8de2bd1551 (diff)
Merge branch 'master' into feature/informative-commit-colors
Diffstat (limited to 'pkg/gui/commits_panel.go')
-rw-r--r--pkg/gui/commits_panel.go32
1 files changed, 12 insertions, 20 deletions
diff --git a/pkg/gui/commits_panel.go b/pkg/gui/commits_panel.go
index 3d9b10058..e3f4c84ac 100644
--- a/pkg/gui/commits_panel.go
+++ b/pkg/gui/commits_panel.go
@@ -2,10 +2,11 @@ package gui
import (
"errors"
+ "fmt"
- "github.com/fatih/color"
"github.com/jesseduffield/gocui"
"github.com/jesseduffield/lazygit/pkg/commands"
+ "github.com/jesseduffield/lazygit/pkg/utils"
)
func (gui *Gui) refreshCommits(g *gocui.Gui) error {
@@ -15,23 +16,15 @@ func (gui *Gui) refreshCommits(g *gocui.Gui) error {
if err != nil {
panic(err)
}
+
v.Clear()
- red := color.New(color.FgRed)
- yellow := color.New(color.FgGreen)
- green := color.New(color.FgYellow)
- white := color.New(color.FgWhite)
- shaColor := white
- for _, commit := range gui.State.Commits {
- if !commit.Pushed {
- shaColor = red
- } else if !commit.Merged {
- shaColor = green
- } else {
- shaColor = yellow
- }
- shaColor.Fprint(v, commit.Sha+" ")
- white.Fprintln(v, commit.Name)
+
+ list, err := utils.RenderList(gui.State.Commits)
+ if err != nil {
+ return err
}
+ fmt.Fprint(v, list)
+
gui.refreshStatus(g)
if g.CurrentView().Name() == "commits" {
gui.handleCommitSelect(g, v)
@@ -102,7 +95,7 @@ func (gui *Gui) handleCommitSquashDown(g *gocui.Gui, v *gocui.View) error {
}
// TODO: move to files panel
-func (gui *Gui) anyUnStagedChanges(files []commands.File) bool {
+func (gui *Gui) anyUnStagedChanges(files []*commands.File) bool {
for _, file := range files {
if file.Tracked && file.HasUnstagedChanges {
return true
@@ -149,7 +142,6 @@ func (gui *Gui) handleRenameCommit(g *gocui.Gui, v *gocui.View) error {
}
return gui.handleCommitSelect(g, v)
})
- return nil
}
func (gui *Gui) handleRenameCommitEditor(g *gocui.Gui, v *gocui.View) error {
@@ -165,13 +157,13 @@ func (gui *Gui) handleRenameCommitEditor(g *gocui.Gui, v *gocui.View) error {
return nil
}
-func (gui *Gui) getSelectedCommit(g *gocui.Gui) (commands.Commit, error) {
+func (gui *Gui) getSelectedCommit(g *gocui.Gui) (*commands.Commit, error) {
v, err := g.View("commits")
if err != nil {
panic(err)
}
if len(gui.State.Commits) == 0 {
- return commands.Commit{}, errors.New(gui.Tr.SLocalize("NoCommitsThisBranch"))
+ return &commands.Commit{}, errors.New(gui.Tr.SLocalize("NoCommitsThisBranch"))
}
lineNumber := gui.getItemPosition(v)
if lineNumber > len(gui.State.Commits)-1 {