diff options
| author | Jeff Carr <[email protected]> | 2025-10-09 12:26:27 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-09 12:26:27 -0500 |
| commit | 518c69b4b689e40684356fcefa1e8698c3f3e0cb (patch) | |
| tree | 0c13d8fa36ba7a8022c62a0bb6c7bd271c52c3a5 /main.go | |
| parent | 7e7ec656192326f9acb6ce046cc142ee4f29dbb8 (diff) | |
standard syntax for subcommands
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 113 |
1 files changed, 41 insertions, 72 deletions
@@ -69,6 +69,12 @@ func main() { dumpDebug() } + // if you are in "normal" mode, always run normal every time to catch accidental errors + // for example, if you accidentally changed branches from your user branch + if me.forge.Config.Mode == forgepb.ForgeMode_NORMAL { + doNormal() + } + if me.sh.Cmd == "" { s, err := doDefaultBehavior() if err != nil { @@ -96,117 +102,53 @@ func main() { if argv.Commit != nil { doCommit() - okExit("") } if argv.Checkout != nil { - if err := doCheckout(); err != nil { - badExit(err) - } - okExit("") + err = doCheckout() } if argv.Dev != nil { - s, err := doDev() - if err != nil { - me.sh.BadExit(s, err) - } - me.sh.GoodExit(s) + s, err = doDev() } if argv.Fixer != nil { - s, err := doFix() - if err != nil { - me.sh.BadExit(s, err) - } - me.sh.GoodExit(s) + s, err = doFix() } if argv.Clean != nil { - if err := doClean(); err != nil { - badExit(err) - } - me.forge.ConfigSave() - okExit("") + err = doClean() } if argv.Mode != nil { - if s, err := doMode(); err != nil { - me.sh.BadExit(s, err) - } else { - me.sh.GoodExit(s) - } + s, err = doMode() } if argv.Normal != nil { - if s, err := doNormal(); err != nil { - me.sh.BadExit(s, err) - } else { - me.sh.GoodExit(s) - } - } - - // if you are in "normal" mode, always run normal every time to catch accidental errors - // for example, if you accidentally changed branches from your user branch - if me.forge.Config.Mode == forgepb.ForgeMode_NORMAL { - doNormal() + s, err = doNormal() } if argv.Merge != nil { - if err := doMerge(); err != nil { - badExit(err) - } - okExit("") + err = doMerge() } if argv.Add != nil { doAdd() - okExit("") } if argv.Pull != nil { doPull() - okExit("") } if argv.Show != nil { - if argv.Show.Dirty != nil { - doDirty() - okExit("") - } - - if argv.Show.Tag != nil { - doTag() - okExit("") - } - - found := findRepos() - if showUrls() { - found.SortNamespace() - footer := me.forge.PrintForgedTable(found) - log.Info("repos with patches or unsaved changes:", footer) - okExit("") - } - // print out the repos - if argv.All { - me.forge.PrintHumanTableFull(found) - } else { - me.forge.PrintDefaultTB(found) - } - okExit("") + s, err = doShow() } if argv.Patch != nil { s, err = doPatch() } - // open the gui unless the user performed some other - // basically, if you run just 'forge' it should open the GUI - if argv.Gui != nil { - // if opening the GUI, always check git for dirty repos - me.forge.CheckDirty() - me.myGui.Start() // loads the GUI toolkit doGui() // start making our forge GUI debug() // sits here forever @@ -244,3 +186,30 @@ func doDefaultBehavior() (string, error) { footer := me.forge.PrintDefaultTB(found) return footer, nil } + +func doShow() (string, error) { + if argv.Show.Dirty != nil { + doDirty() + return "dirty repos shown", nil + } + + if argv.Show.Tag != nil { + doTag() + return "tags shown", nil + } + + found := findRepos() + if showUrls() { + found.SortNamespace() + footer := me.forge.PrintForgedTable(found) + return "repos with patches or unsaved changes: " + footer, nil + } + var footer string + // print out the repos + if argv.All { + footer = me.forge.PrintHumanTableFull(found) + } else { + footer = me.forge.PrintDefaultTB(found) + } + return footer, nil +} |
