From 5be2559741f485f6fc90a50724ab4fac399e8754 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Thu, 28 Aug 2025 20:59:03 -0500 Subject: [PATCH] test against go-args' head --- parse.go | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) 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