blob: 66b8cf355240e6daf7969dbfff5f0f198b65ed41 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
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!
}
|