diff --git a/parse.go b/parse.go index d5eee12..4676f48 100644 --- a/parse.go +++ b/parse.go @@ -80,9 +80,25 @@ var ErrVersion = errors.New("version requested by user") var mustParseExit = os.Exit var mustParseOut io.Writer = os.Stdout +/* + This allows you to have common arg values defined in a GO package + + package 'foo' + function init() { + args.Register(&argsFoo) + } +*/ + +// This stores the args sent from the GO packages +var register []interface{} + +func Register(dest ...interface{}) { + register = append(register, dest...) +} + // MustParse processes command line arguments and exits upon failure func MustParse(dest ...interface{}) *Parser { - return mustParse(Config{Exit: mustParseExit, Out: mustParseOut}, dest...) + return mustParse(Config{Exit: mustParseExit, Out: mustParseOut}, register...) } // mustParse is a helper that facilitates testing