package argvpb import "time" // try this struct out (?) var me *AutoArgs // this is a work in progress type AutoArgs struct { pb *Argv // the protobuf for the current process id int // should be unique Argv func([]string) // the function for shell autocomplete initArgvFunc func() (string, string, string) // this is required. gets APPNAME, BUILDTIME & VERSION initGuiFunc func() error // this is required for 'gui' args to work mustParseFunc func() error // calls go-arg.MustParse() parseFlagsFunc func([]string) error // calls go-arg.ParseFlags(flags) writeHelpForAutocompleteFunc func(string, ...string) error // notsure yet writeHelpForAutocompleteDebugFunc func(string, ...string) error // notsure yet writeHelpFunc func() error // notsure yet writeHelpForSubcommandFunc func(string) error // notsure yet examples func() string // some examples appExit func() // app Exit() buildtime func() (string, string) // some examples autoFunc func(*Argv) // also a function for autocomplete guiFunc func() error // enables Gui functions ARGNAME string // a good way to track the name of the binary ? VERSION string BUILDTIME *time.Time err error // store any errors from argv // hidden bool // don't update the toolkits when it's hidden // pp *arg.Parser // for parsing the command line args. Yay to alexf lint! }