package repo type Option func(*Options) type Options struct { URL string Project string Name string Branch string AuthorName string AuthorEmail string PluginConfig PluginConfig } func WithProject(project string) Option { return func(o *Options) { o.Project = project } } func WithName(name string) Option { return func(o *Options) { o.Name = name } } func WithURL(url string) Option { return func(o *Options) { o.URL = url } } func WithBranch(branch string) Option { return func(o *Options) { o.Branch = branch } } func WithAuthor(name, email string) Option { return func(o *Options) { o.AuthorName = name o.AuthorEmail = email } } func WithPluginConfig(config PluginConfig) Option { return func(o *Options) { o.PluginConfig = config } }