diff --git a/git/git.go b/git/git.go index 6de0807075ea653b9b89c033788e4d14fcf9d105..748678f98c315d5e0b7cb09ad74268805867a490 100644 --- a/git/git.go +++ b/git/git.go @@ -107,6 +107,9 @@ func (rs *RepoSource) LoadRepos() error { return err } r, err := rs.loadRepo(rn, rg) + if err != nil { + return err + } rs.repos = append(rs.repos, r) } return nil diff --git a/tui/bubble.go b/tui/bubble.go index 9cd72030148074d864ae08c9cee94fb904328797..062548ac2b8a038837acd23c1c404c8baa10de07 100644 --- a/tui/bubble.go +++ b/tui/bubble.go @@ -10,7 +10,6 @@ import ( tea "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/lipgloss" - "github.com/gliderlabs/ssh" ) type sessionState int @@ -46,20 +45,19 @@ type SessionConfig struct { } type Bubble struct { - config *Config - styles *style.Styles - state sessionState - error string - width int - height int - windowChanges <-chan ssh.Window - repoSource *git.RepoSource - initialRepo string - repoMenu []MenuEntry - repos []*git.Repo - boxes []tea.Model - activeBox int - repoSelect *selection.Bubble + config *Config + styles *style.Styles + state sessionState + error string + width int + height int + repoSource *git.RepoSource + initialRepo string + repoMenu []MenuEntry + repos []*git.Repo + boxes []tea.Model + activeBox int + repoSelect *selection.Bubble } func NewBubble(cfg *Config, sCfg *SessionConfig) *Bubble { diff --git a/tui/commands.go b/tui/commands.go index 7e305afe732de7e5e90b868a10678bf0255ad9f8..64ee06d78f4cbc17c4262005e07ded2210f8fdf1 100644 --- a/tui/commands.go +++ b/tui/commands.go @@ -12,7 +12,6 @@ import ( "github.com/muesli/termenv" ) -type windowMsg struct{} type errMsg struct{ err error } func (e errMsg) Error() string { @@ -23,11 +22,8 @@ func (b *Bubble) setupCmd() tea.Msg { ct := time.Now() lipgloss.SetColorProfile(termenv.ANSI256) b.repos = b.repoSource.AllRepos() - mes := make([]MenuEntry, 0) + mes := append([]MenuEntry{}, b.config.Menu...) rs := make([]string, 0) - for _, me := range b.config.Menu { - mes = append(mes, me) - } if b.config.ShowAllRepos { OUTER: for _, r := range b.repos { diff --git a/tui/defaults.go b/tui/defaults.go index 5b7427c6f0368a864e6f1be30e74aaf07a6e069a..2643296c08599b7f7d832dd7c1cdb65365cb69c3 100644 --- a/tui/defaults.go +++ b/tui/defaults.go @@ -41,9 +41,12 @@ func createFile(path string, content string) error { func createDefaultConfigRepo(rs *git.RepoSource) error { cn := "config" err := rs.LoadRepos() - cr, err := rs.GetRepo(cn) + if err != nil { + return err + } + _, err = rs.GetRepo(cn) if err == git.ErrMissingRepo { - cr, err = rs.InitRepo(cn, false) + cr, err := rs.InitRepo(cn, false) if err != nil { return err }