Diff
1diff --git a/internal/tui/bubble.go b/internal/tui/bubble.go
2index ed5a314ee202086135812bd5d2c1217e638fc35c..321b0fe86a5c3879ff253aecd3fec4fd3a5e4f8e 100644
3--- a/internal/tui/bubble.go
4+++ b/internal/tui/bubble.go
5@@ -160,7 +160,7 @@ func (b Bubble) footerView() string {
6 var h []gittypes.HelpEntry
7 if b.state != errorState {
8 h = []gittypes.HelpEntry{
9- {"tab", "section"},
10+ {Key: "tab", Value: "section"},
11 }
12 if box, ok := b.boxes[b.activeBox].(gittypes.BubbleHelper); ok {
13 help := box.Help()
14@@ -169,7 +169,7 @@ func (b Bubble) footerView() string {
15 }
16 }
17 }
18- h = append(h, gittypes.HelpEntry{"q", "quit"})
19+ h = append(h, gittypes.HelpEntry{Key: "q", Value: "quit"})
20 for i, v := range h {
21 fmt.Fprint(w, helpEntryRender(v, b.styles))
22 if i != len(h)-1 {
23diff --git a/internal/tui/bubbles/git/bubble.go b/internal/tui/bubbles/git/bubble.go
24index a6ed04a1dac63bd1edda771cb0262c254b88f1f4..4a47467fe37ed64467ef4ac539f53dd9f0ab7b4a 100644
25--- a/internal/tui/bubbles/git/bubble.go
26+++ b/internal/tui/bubbles/git/bubble.go
27@@ -110,10 +110,10 @@ func (b *Bubble) Help() []types.HelpEntry {
28 h := []types.HelpEntry{}
29 h = append(h, b.boxes[b.state].(types.BubbleHelper).Help()...)
30 if b.repo.Name() != "config" {
31- h = append(h, types.HelpEntry{"R", "readme"})
32- h = append(h, types.HelpEntry{"F", "files"})
33- h = append(h, types.HelpEntry{"C", "commits"})
34- h = append(h, types.HelpEntry{"B", "branches"})
35+ h = append(h, types.HelpEntry{Key: "R", Value: "readme"})
36+ h = append(h, types.HelpEntry{Key: "F", Value: "files"})
37+ h = append(h, types.HelpEntry{Key: "C", Value: "commits"})
38+ h = append(h, types.HelpEntry{Key: "B", Value: "branches"})
39 }
40 return h
41 }
42diff --git a/internal/tui/bubbles/git/log/bubble.go b/internal/tui/bubbles/git/log/bubble.go
43index 46118cff6889080e5d0c1f55989227eab426d222..773784e7ab4fe9bc6f0e979b96ef0a9314431326 100644
44--- a/internal/tui/bubbles/git/log/bubble.go
45+++ b/internal/tui/bubbles/git/log/bubble.go
46@@ -45,7 +45,7 @@ const (
47 )
48
49 type item struct {
50- *types.Commit
51+ *object.Commit
52 }
53
54 func (i item) Title() string {
55@@ -229,28 +229,28 @@ func (b *Bubble) loadCommit() tea.Cmd {
56 // https://github.com/go-git/go-git/issues/281
57 tree, err := c.Tree()
58 if err != nil {
59- return types.ErrMsg{err}
60+ return types.ErrMsg{Err: err}
61 }
62 var parent *object.Commit
63 parentTree := &object.Tree{}
64 if c.NumParents() > 0 {
65 parent, err = c.Parents().Next()
66 if err != nil {
67- return types.ErrMsg{err}
68+ return types.ErrMsg{Err: err}
69 }
70 parentTree, err = parent.Tree()
71 if err != nil {
72- return types.ErrMsg{err}
73+ return types.ErrMsg{Err: err}
74 }
75 }
76 ctx, cancel := context.WithTimeout(context.TODO(), types.MaxPatchWait)
77 defer cancel()
78 patch, err := parentTree.PatchContext(ctx, tree)
79 if err != nil {
80- return types.ErrMsg{err}
81+ return types.ErrMsg{Err: err}
82 }
83 return commitMsg{
84- commit: c.Commit.Commit,
85+ commit: c.Commit,
86 tree: tree,
87 parent: parent,
88 parentTree: parentTree,
89diff --git a/internal/tui/bubbles/git/tree/bubble.go b/internal/tui/bubbles/git/tree/bubble.go
90index 3bbefef5d983db3ff63debe6e7397209c73db321..f16a9d71b14b4bcc356fcd44d2e859a3e90aeff5 100644
91--- a/internal/tui/bubbles/git/tree/bubble.go
92+++ b/internal/tui/bubbles/git/tree/bubble.go
93@@ -187,7 +187,7 @@ func (b *Bubble) updateItems() tea.Cmd {
94 its := make(items, 0)
95 t, err := b.repo.Tree(b.ref, b.path)
96 if err != nil {
97- return func() tea.Msg { return types.ErrMsg{err} }
98+ return func() tea.Msg { return types.ErrMsg{Err: err} }
99 }
100 tw := object.NewTreeWalker(t, false, map[plumbing.Hash]bool{})
101 defer tw.Close()
102@@ -307,18 +307,18 @@ func (b *Bubble) View() string {
103 func (b *Bubble) loadFile(i item) tea.Cmd {
104 return func() tea.Msg {
105 if !i.Mode().IsFile() || i.file == nil {
106- return types.ErrMsg{types.ErrInvalidFile}
107+ return types.ErrMsg{Err: types.ErrInvalidFile}
108 }
109 bin, err := i.file.IsBinary()
110 if err != nil {
111- return types.ErrMsg{err}
112+ return types.ErrMsg{Err: err}
113 }
114 if bin {
115- return types.ErrMsg{types.ErrBinaryFile}
116+ return types.ErrMsg{Err: types.ErrBinaryFile}
117 }
118 c, err := i.file.Contents()
119 if err != nil {
120- return types.ErrMsg{err}
121+ return types.ErrMsg{Err: err}
122 }
123 return fileMsg{
124 content: c,
125diff --git a/internal/tui/bubbles/git/types/git.go b/internal/tui/bubbles/git/types/git.go
126index de6bfd1aae84e81306a3da20ee389075189cab18..758f9d126eb39b2018ba03c4f70e869df4b555b8 100644
127--- a/internal/tui/bubbles/git/types/git.go
128+++ b/internal/tui/bubbles/git/types/git.go
129@@ -17,11 +17,7 @@ type Repo interface {
130 Tree(*plumbing.Reference, string) (*object.Tree, error)
131 }
132
133-type Commit struct {
134- *object.Commit
135-}
136-
137-type Commits []*Commit
138+type Commits []*object.Commit
139
140 func (cl Commits) Len() int { return len(cl) }
141 func (cl Commits) Swap(i, j int) { cl[i], cl[j] = cl[j], cl[i] }
142diff --git a/internal/tui/bubbles/selection/bubble.go b/internal/tui/bubbles/selection/bubble.go
143index 26730dd214f19f720e65b15cada8d88a3becb44f..eb84b5d6817ac5174b92a1c187ca3eae14546d94 100644
144--- a/internal/tui/bubbles/selection/bubble.go
145+++ b/internal/tui/bubbles/selection/bubble.go
146@@ -82,7 +82,7 @@ func (b *Bubble) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
147
148 func (b *Bubble) Help() []gittypes.HelpEntry {
149 return []gittypes.HelpEntry{
150- {"↑/↓", "navigate"},
151+ {Key: "↑/↓", Value: "navigate"},
152 }
153 }
154