diff options
| -rw-r--r-- | Makefile | 18 | ||||
| -rw-r--r-- | parse.go | 19 | 
2 files changed, 36 insertions, 1 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..42e9fb2 --- /dev/null +++ b/Makefile @@ -0,0 +1,18 @@ +all: +	@echo +	@echo + +clean: +	rm -f go.* + +redomod: +	rm -f go.* +	GO111MODULE= go mod init +	GO111MODULE= go mod tidy + +vet: +	@GO111MODULE=off go vet +	@echo this go binary package builds okay + +goimports: +	goimports -w *.go @@ -80,9 +80,26 @@ 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...) +	register = append(register, dest...) +	return mustParse(Config{Exit: mustParseExit, Out: mustParseOut}, register...)  }  // mustParse is a helper that facilitates testing  | 
