// Copyright 2017-2025 WIT.COM Inc. All rights reserved. // Use of this source code is governed by the GPL 3.0 package main import ( "embed" "os" "unicode" "go.wit.com/lib/protobuf/argvpb" "go.wit.com/log" ) //go:embed resources/* var resources embed.FS func main() { me = new(mainType) argvpb.Init(&argv, APPNAME, BUILDTIME, VERSION) // adds shell auto-complete me.homedir, _ = os.UserHomeDir() // store shortcut here todo: add better logic if argvpb.GetCmd() == "" { // user didn't enter a sub command // doDefaultBehavior() argvpb.GoodExit("do what?") } pwd, _ := os.Getwd() setTitle(log.Sprintf("wit %s %s", argvpb.GetCmd(), pwd)) // Standard subcommand handling starts here var s string var err error // process the argv subcommand (subCommand.go) s, err = subCommand() // argv provides timing and other features on exit if err != nil { // bad exit back to the shell via argv argvpb.BadExit(s, err) } // a good exit back to the shell via argv argvpb.GoodExit(s) } // this is dumb. sync this with go-deb func trimNonNumericFromStart(s string) string { for i, r := range s { if unicode.IsDigit(r) { return s[i:] } } return "" }