From af3fb9f5522e015b98e2f4b4104c4a060e70c409 Mon Sep 17 00:00:00 2001 From: bth Date: Wed, 28 Jan 2026 20:28:11 -0800 Subject: [PATCH] parseArgsInternal --- flags/flags.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/flags/flags.go b/flags/flags.go index 4ac0374..3febbc6 100644 --- a/flags/flags.go +++ b/flags/flags.go @@ -154,9 +154,8 @@ func expandOpts(opts any) []Flag { return flags } -// assign values of args to opts struct using Flag interface methods -func ParseArgs(sub cmd.Subcommand, summary string, args []string, opts any) { - flags := expandOpts(opts) +// internal for type safety testing +func parseArgsInternal(sub cmd.Subcommand, summary string, args []string, opts any, flags []Flag) { argloop: for i := 0; i < len(args); i++ { arg := args[i] @@ -178,3 +177,9 @@ argloop: Help(sub, summary, opts) } } + +// assign values of args to opts struct using Flag interface methods +func ParseArgs(sub cmd.Subcommand, summary string, args []string, opts any) { + flags := expandOpts(opts) + parseArgsInternal(sub, summary, args, opts, flags) +}