package main // these are stubbed in functions needed // just copy this file from another working app for now // you shouldn't need to change anything here // TODO: clean this up in argv import ( "os" "go.wit.com/dev/alexflint/arg" "go.wit.com/gui" ) // this must be global until further development and abstraction var argvpp *arg.Parser // the go-arg parser of the command line func (args) InitArgv() (string, string, string) { return APPNAME, BUILDTIME, VERSION } // this function will send the current argv PB to go-args for parsing func (args) ParseFlags(flags []string) error { var err error if argvpp == nil { // log.Info("Parse Flags GOT flags:", flags) argvpp, err = arg.ParseFlags(flags, &argv) // panic("got to the app's ParseFlags()") } else { panic("argvpp was not nil") } return err } // this will print the help for the subcmd func (args) WriteHelpForAutocomplete(part string, subcmd ...string) error { return argvpp.WriteHelpForAutocomplete(os.Stderr, os.Stdout, part, subcmd...) } func (args) InitGui() error { // panic("got here") arg.Register(&gui.ArgvGui) // me.myGui = gui.New() return nil } func (args) Help() string { return "got app help" } func (args) MustParse() error { argvpp = arg.MustParse(&argv) return nil } /* argv.Print.go: me.pp.WriteHelp(os.Stdout) argv.SendStrings.go: me.pp.WriteHelpForAutocomplete(os.Stderr, os.Stdout, partial, cmd...) argv.SendStrings.go: // me.pp.GetUsageForSubcommand(os.Stdout, os.Stderr, partial, cmd) argv.SendStrings.go: // me.pp.GetUsageForSubcommand(os.Stdout, nil, partial, cmd) argv.SendStrings.go: me.pp.WriteHelpForAutocomplete(f, os.Stdout, partial, cmd...) argv.SendStrings.go: // me.pp.GetUsageForSubcommand(os.Stdout, nil, partial, cmd) theMagicOfAutocomplete.go: me.pp = arg.MustParse(dest) theMagicOfAutocomplete.go: me.pp, err = arg.ParseFlags(flags, dest) theMagicOfAutocomplete.go: if me.pp == nil { theMagicOfAutocomplete.go: me.pb.Debugf("DEBUG: me.pp == nil after ParseFlags()") theMagicOfAutocomplete.go: // me.pb.Debugf("DEBUG: me.pp is ok after ParseFlags()") theMagicOfAutocomplete.go: me.pp.WriteHelp(os.Stderr) theMagicOfAutocomplete.go: me.pp.WriteHelpForSubcommand(os.Stderr, me.pb.Cmd) */