Compare commits
3 Commits
Author | SHA1 | Date |
---|---|---|
|
8ecad2c6af | |
|
8b32c8d316 | |
|
6cc03a124c |
|
@ -0,0 +1,21 @@
|
|||
all:
|
||||
@echo
|
||||
@echo
|
||||
|
||||
clean:
|
||||
rm -f go.*
|
||||
|
||||
redomod:
|
||||
rm -f go.*
|
||||
GO111MODULE= go mod init
|
||||
GO111MODULE= go mod tidy
|
||||
|
||||
test:
|
||||
go test
|
||||
|
||||
vet:
|
||||
@GO111MODULE=off go vet
|
||||
@echo this go binary package builds okay
|
||||
|
||||
goimports:
|
||||
goimports -w *.go
|
2
go.mod
2
go.mod
|
@ -1,4 +1,4 @@
|
|||
module github.com/alexflint/go-arg
|
||||
module go.wit.com/dev/alexflint/arg
|
||||
|
||||
require (
|
||||
github.com/alexflint/go-scalar v1.2.0
|
||||
|
|
19
parse.go
19
parse.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
|
||||
|
|
Loading…
Reference in New Issue