diff --git a/cmd/program.go b/cmd/program.go index e5af52618f506ee9d9cdd7bf0a1003e0af6d60f4_Y21kL3Byb2dyYW0uZ28=..e0809eb545e2529247271a00a43ee4748375b375_Y21kL3Byb2dyYW0uZ28= 100644 --- a/cmd/program.go +++ b/cmd/program.go @@ -130,6 +130,18 @@ } } +func WithOptionsGroup[E any]( + name string, description string, getgroup func(*Program[E]) any, +) Option[E] { + return PostInit( func (program *Program[E]) { + if _, err := program.Parser.AddGroup( + name, description, getgroup(program), + ); err != nil { + panic(err) + } + }) +} + func WithTokenOptions[E any]() Option[E] { return func(program *Program[E]) { program.TokenOptions = auth.NewTokenOptions()