summaryrefslogtreecommitdiff
path: root/structs.go
blob: 13067015962be85d93a8348f2fb4b3cdf26b370d (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
package argvpb

// 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
	err                               error                           // store any errors from argv
}