Diff
1diff --git a/git/git.go b/git/git.go
2index 6de0807075ea653b9b89c033788e4d14fcf9d105..748678f98c315d5e0b7cb09ad74268805867a490 100644
3--- a/git/git.go
4+++ b/git/git.go
5@@ -107,6 +107,9 @@ func (rs *RepoSource) LoadRepos() error {
6 return err
7 }
8 r, err := rs.loadRepo(rn, rg)
9+ if err != nil {
10+ return err
11+ }
12 rs.repos = append(rs.repos, r)
13 }
14 return nil
15diff --git a/tui/bubble.go b/tui/bubble.go
16index 9cd72030148074d864ae08c9cee94fb904328797..062548ac2b8a038837acd23c1c404c8baa10de07 100644
17--- a/tui/bubble.go
18+++ b/tui/bubble.go
19@@ -10,7 +10,6 @@ import (
20
21 tea "github.com/charmbracelet/bubbletea"
22 "github.com/charmbracelet/lipgloss"
23- "github.com/gliderlabs/ssh"
24 )
25
26 type sessionState int
27@@ -46,20 +45,19 @@ type SessionConfig struct {
28 }
29
30 type Bubble struct {
31- config *Config
32- styles *style.Styles
33- state sessionState
34- error string
35- width int
36- height int
37- windowChanges <-chan ssh.Window
38- repoSource *git.RepoSource
39- initialRepo string
40- repoMenu []MenuEntry
41- repos []*git.Repo
42- boxes []tea.Model
43- activeBox int
44- repoSelect *selection.Bubble
45+ config *Config
46+ styles *style.Styles
47+ state sessionState
48+ error string
49+ width int
50+ height int
51+ repoSource *git.RepoSource
52+ initialRepo string
53+ repoMenu []MenuEntry
54+ repos []*git.Repo
55+ boxes []tea.Model
56+ activeBox int
57+ repoSelect *selection.Bubble
58 }
59
60 func NewBubble(cfg *Config, sCfg *SessionConfig) *Bubble {
61diff --git a/tui/commands.go b/tui/commands.go
62index 7e305afe732de7e5e90b868a10678bf0255ad9f8..64ee06d78f4cbc17c4262005e07ded2210f8fdf1 100644
63--- a/tui/commands.go
64+++ b/tui/commands.go
65@@ -12,7 +12,6 @@ import (
66 "github.com/muesli/termenv"
67 )
68
69-type windowMsg struct{}
70 type errMsg struct{ err error }
71
72 func (e errMsg) Error() string {
73@@ -23,11 +22,8 @@ func (b *Bubble) setupCmd() tea.Msg {
74 ct := time.Now()
75 lipgloss.SetColorProfile(termenv.ANSI256)
76 b.repos = b.repoSource.AllRepos()
77- mes := make([]MenuEntry, 0)
78+ mes := append([]MenuEntry{}, b.config.Menu...)
79 rs := make([]string, 0)
80- for _, me := range b.config.Menu {
81- mes = append(mes, me)
82- }
83 if b.config.ShowAllRepos {
84 OUTER:
85 for _, r := range b.repos {
86diff --git a/tui/defaults.go b/tui/defaults.go
87index 5b7427c6f0368a864e6f1be30e74aaf07a6e069a..2643296c08599b7f7d832dd7c1cdb65365cb69c3 100644
88--- a/tui/defaults.go
89+++ b/tui/defaults.go
90@@ -41,9 +41,12 @@ func createFile(path string, content string) error {
91 func createDefaultConfigRepo(rs *git.RepoSource) error {
92 cn := "config"
93 err := rs.LoadRepos()
94- cr, err := rs.GetRepo(cn)
95+ if err != nil {
96+ return err
97+ }
98+ _, err = rs.GetRepo(cn)
99 if err == git.ErrMissingRepo {
100- cr, err = rs.InitRepo(cn, false)
101+ cr, err := rs.InitRepo(cn, false)
102 if err != nil {
103 return err
104 }