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) +}