diff options
| author | ewy <ewy0@protonmail.com> | 2026-04-14 18:58:37 +0200 |
|---|---|---|
| committer | ewy <ewy0@protonmail.com> | 2026-04-14 18:58:37 +0200 |
| commit | 370f13b58e9cb74eeab3461afb779cf4d013c94b (patch) | |
| tree | b030d70528cd390818254839c1f140a5a575f191 /main.go | |
| parent | 4fecdd952c270de8ce6e4cc4e6f3513e5579febe (diff) | |
handle not having stuff installed a little more gracefully
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 25 |
1 files changed, 15 insertions, 10 deletions
@@ -60,21 +60,22 @@ func main() { panic(err) } var st *model.State - var stateError error + var stateErrors []error if !*flags.All { - st, stateError = model.NewState(fs, locs, indexers, runners) + st, stateErrors = model.NewState(fs, locs, indexers, runners) } else { c, err := cache.Load() if err != nil { panic(err) } - st, stateError = cache.LoadState(fs, c, indexers, runners) + st, stateErrors = cache.LoadState(fs, c, indexers, runners) } - if stateError != nil { - panic(stateError) + if stateErrors != nil { + spool.Warn("%v\n", stateErrors) + } else { + err = cache.Save(st) } - err = cache.Save(st) if err != nil { _, _ = spool.Warn("%v", err) } @@ -84,11 +85,13 @@ func main() { if len(args) == 0 { source, target, err := menu.Show(st, hydrators) if err != nil { - panic(err) + spool.Warn("%v\n", err) + os.Exit(1) } err = run.Run(source.Source, target, args...) if err != nil { - panic(err) + spool.Warn("%v\n", err) + os.Exit(1) } return @@ -99,7 +102,8 @@ func main() { err := pflag.Set("all", "true") ForceConfirm = true if err != nil { - panic(err) + spool.Warn("%v\n", err) + os.Exit(1) } main() return @@ -119,6 +123,7 @@ func main() { err = run.Run(src, target, args...) if err != nil { - panic(err) + spool.Warn("%v\n", err) + os.Exit(1) } } |
