summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-08-28 20:59:03 -0500
committerJeff Carr <[email protected]>2025-08-28 21:02:03 -0500
commit5be2559741f485f6fc90a50724ab4fac399e8754 (patch)
treef015a85aef4f86084afe5a85d1fe2afa27346ce0
parenta36ed1e7b3fe64227244048a90289a5d365bf2f1 (diff)
test against go-args' head
-rw-r--r--parse.go18
1 files changed, 17 insertions, 1 deletions
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