diff --git a/cmd/main.go b/cmd/main.go index 92c5270..9700fed 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -83,6 +83,12 @@ func init() { if err := viper.BindPFlag("request_limit_burst", flags.Lookup("request-limit-burst")); err != nil { logger.SlogFatal("Could not bind request-limit-burst flag", "error", err) } + + flags.BoolP("help", "h", false, "Show help message") + if err := viper.BindPFlag("help", flags.Lookup("help")); err != nil { + logger.SlogFatal("Could not bind help flag", "error", err) + } + } func main() { @@ -91,6 +97,14 @@ func main() { logger.SlogFatal("CLI parsing failed", "error", err) } + if viper.GetBool("help") { + err := cli.Usage() + if err != nil { + logger.SlogFatal("Getting CLI usage failed", "error", err) + } + os.Exit(0) + } + // preserve deprecated verbose flag if viper.GetBool("verbose") { logger.Init("debug")