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
Ayman Bagabas created
git/git.go | 3 +++
tui/bubble.go | 28 +++++++++++++---------------
tui/commands.go | 6 +-----
tui/defaults.go | 7 +++++--
4 files changed, 22 insertions(+), 22 deletions(-)
@@ -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
@@ -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 {
@@ -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 {
@@ -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
}