diff options
| author | hachem <im@hachem.wtf> | 2026-08-29 11:26:09 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-08-29 11:26:09 +0200 |
| commit | 4806ee7ef95f0f04079856f7753399b7b7aa6330 (patch) | |
| tree | 5766e1f8cd714ae76b2f81da4ab3045e7193b256 /internal/cli | |
| parent | d8b2d27b1f1ccccfe26fe0d45dbb624d453272d3 (diff) | |
feat: recommended option filters
Diffstat (limited to 'internal/cli')
| -rw-r--r-- | internal/cli/cli.go | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/internal/cli/cli.go b/internal/cli/cli.go index 7e7705e..4f98b6d 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -11,6 +11,7 @@ import ( "github.com/charmbracelet/lipgloss" "github.com/hachem-wtf/benson/internal/config" + "github.com/hachem-wtf/benson/internal/setup" ) type command struct { @@ -42,10 +43,19 @@ type model struct { func Run(version string) error { cfg, err := config.Load() if err != nil { - if os.IsNotExist(err) { - return fmt.Errorf("no config found — run `benson setup` to create one") + if !os.IsNotExist(err) { + return fmt.Errorf("failed to load %s: %w", config.Path(), err) + } + + fmt.Println("No configuration found — let's set one up.") + if err := setup.Run(); err != nil { + return err + } + + cfg, err = config.Load() + if err != nil { + return fmt.Errorf("setup did not complete — run `benson setup` to configure") } - return fmt.Errorf("failed to load %s: %w", config.Path(), err) } _, err = tea.NewProgram(newModel(cfg, version)).Run() |
