summaryrefslogtreecommitdiffstats
path: root/pkg/gui/list_context.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2021-03-31 22:08:55 +1100
committerJesse Duffield <jessedduffield@gmail.com>2021-04-02 11:00:15 +1100
commit332a3c4cbfd263c34d5f53dd971701d2ca69ab4e (patch)
tree9c2801ce55b7e2bab75fbbaa5dcf82e7d02266ce /pkg/gui/list_context.go
parentac41c418092b4561042b52d59b362107a0c2ecd6 (diff)
file tree for commit files
Diffstat (limited to 'pkg/gui/list_context.go')
-rw-r--r--pkg/gui/list_context.go18
1 files changed, 15 insertions, 3 deletions
diff --git a/pkg/gui/list_context.go b/pkg/gui/list_context.go
index 319d7ee40..441d79ade 100644
--- a/pkg/gui/list_context.go
+++ b/pkg/gui/list_context.go
@@ -1,8 +1,10 @@
package gui
import (
+ "github.com/fatih/color"
"github.com/jesseduffield/gocui"
"github.com/jesseduffield/lazygit/pkg/gui/presentation"
+ "github.com/jesseduffield/lazygit/pkg/utils"
)
type ListContext struct {
@@ -452,17 +454,27 @@ func (gui *Gui) commitFilesListContext() *ListContext {
ViewName: "commitFiles",
WindowName: "commits",
ContextKey: COMMIT_FILES_CONTEXT_KEY,
- GetItemsLength: func() int { return len(gui.State.CommitFiles) },
+ GetItemsLength: func() int { return gui.State.CommitFileChangeManager.GetItemsLength() },
GetPanelState: func() IListPanelState { return gui.State.Panels.CommitFiles },
OnFocus: gui.handleCommitFileSelect,
Gui: gui,
ResetMainViewOriginOnFocus: true,
Kind: SIDE_CONTEXT,
GetDisplayStrings: func() [][]string {
- return presentation.GetCommitFileListDisplayStrings(gui.State.CommitFiles, gui.State.Modes.Diffing.Ref)
+ if gui.State.CommitFileChangeManager.GetItemsLength() == 0 {
+ return [][]string{{utils.ColoredString("(none)", color.FgRed)}}
+ }
+
+ lines := gui.State.CommitFileChangeManager.Render(gui.State.Modes.Diffing.Ref)
+ mappedLines := make([][]string, len(lines))
+ for i, line := range lines {
+ mappedLines[i] = []string{line}
+ }
+
+ return mappedLines
},
SelectedItem: func() (ListItem, bool) {
- item := gui.getSelectedCommitFile()
+ item := gui.getSelectedCommitFileNode()
return item, item != nil
},
}