diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2018-09-20 09:41:29 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2018-09-20 09:41:29 +1000 |
commit | 8fac19c17575c78753a0ed4e8116312ca3d5573e (patch) | |
tree | ddc9096070bd9f96a9320b04419d4178fe7bb998 /pkg/gui/commits_panel.go | |
parent | c789bba673da883af4d812a85819d6309c915f34 (diff) | |
parent | 7b90d2496b56d89863b552b226f45b8de2bd1551 (diff) |
Merge branch 'master' into feature/informative-commit-colors
Diffstat (limited to 'pkg/gui/commits_panel.go')
-rw-r--r-- | pkg/gui/commits_panel.go | 32 |
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 { |