diff options
| author | Jeff Carr <[email protected]> | 2025-10-19 15:29:02 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-19 15:29:02 -0500 |
| commit | 3246e9b1f7ba7b983ca536f06d1dbbb636d1ad5b (patch) | |
| tree | fc7e065170afb516ecb9d77401e4aec8ec8b3743 /subCommand.go | |
| parent | 1a618273bf123cef8a91cccd191b32b605c90abc (diff) | |
redo argv name
Diffstat (limited to 'subCommand.go')
| -rw-r--r-- | subCommand.go | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/subCommand.go b/subCommand.go new file mode 100644 index 0000000..5c59227 --- /dev/null +++ b/subCommand.go @@ -0,0 +1,112 @@ +// Copyright 2017-2025 WIT.COM Inc. All rights reserved. +// Use of this source code is governed by the GPL 3.0 + +package main + +import ( + "go.wit.com/lib/gui/shell" + "go.wit.com/lib/protobuf/forgepb" + "go.wit.com/log" +) + +func doSubcommand() (string, error) { + var s string + var err error + + log.Info("Starting forge with subcommand:", me.argv.Cmd) + + //// start standard argv subcommand processing here //// + if argv.Dev != nil { + // first find the repos or gopaths to operate on + if argv.Dev.Config != nil { + doConfig() + okExit("") + } + s, err := doDev() + if err != nil { + me.argv.BadExit(s, err) + } + me.argv.GoodExit(s) + } + + if argv.Commit != nil { + s, err = doCommit() + } + + if argv.Dev != nil { + s, err = doDev() + } + + if argv.Fixer != nil { + s, err = doFix() + } + + if argv.Clean != nil { + s, err = doClean() + } + + if argv.Mode != nil { + s, err = doMode() + } + + if argv.Normal != nil { + if me.forge.Config.Mode == forgepb.ForgeMode_NORMAL { + s, err = doNormalAll() + } else { + // attempt to switch into Normal mode + s, err = doNormalAttempt() + } + } + + if argv.Merge != nil { + s, err = doMerge() + } + + if argv.Add != nil { + doAdd() + } + + if argv.Pull != nil { + doPull() + } + + if argv.Show != nil { + s, err = doShow() + } + + if argv.Patch != nil { + s, err = doPatch() + } + + if argv.Generate != nil { + s, err = doGenerate() + } + + if argv.Whatchanged != nil { + // this might be deprecated by the git devs + // I put it here because of finger memory and it's nice + // for command line completion + r := shell.RunRealtime([]string{"bash", "-c", "git log"}) + s = "git whatchanged is now: todo" + err = r.Error + } + + if argv.Rebuild != nil { + // attempts to download all the sources + // and binaries needed to build forge + s, err = doRebuild() + } + + if argv.Verify != nil { + s, err = doVerify() + } + //// end standard argv subcommand processing here //// + + // if the gui starts, it doesn't yet go to the end normally + if argv.Gui != nil { + me.myGui.Start() // loads the GUI toolkit + doGui() // start making our forge GUI + debug() // sits here forever + } + return s, err +} |
