package main var argv args type args struct { Quick *QuickCmd `arg:"subcommand:quick" help:"only do repos with patches"` Gui *EmptyCmd `arg:"subcommand:gui" help:"triggers the gui"` DryRun bool `arg:"--dry-run,env:DRYRUN" help:"don't actually do the release"` Minor bool `arg:"--minor" help:"increment minor verion numbers"` Protobuf bool `arg:"--protobuf" help:"increment protobuf repos"` KeepGOMOD bool `arg:"--keep-gomod" help:"keep go.* and *.pb.go files in master"` Verbose bool `arg:"--verbose" help:"talk alot"` Full bool `arg:"--full" help:"build every package"` Reason string `arg:"--reason" help:"tag message"` Force bool `arg:"--force" help:"try harder than normal"` AutoRun bool `arg:"--auto-run" help:"automatically process everything"` Port int `arg:"--port" default:"9419" help:"do fun stuff with curl"` } func (args) Examples() string { var out string out += "guireleaser --full # release everything\n" return out } type QuickCmd struct { List *EmptyCmd `arg:"subcommand:list" help:"list available patches"` Show *EmptyCmd `arg:"subcommand:show" help:"show a specific patch"` NoLibs *EmptyCmd `arg:"subcommand:show" help:"skip libraries that aren't changed"` } type EmptyCmd struct { }