Support built-in shorthand flags (#1925)

master
anqiansong 2 years ago committed by GitHub
parent 58787746db
commit f1fdd55b38
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -69,15 +69,18 @@ func supportGoStdFlag(args []string) []string {
flagValue = flagExpr[assignIndex:]
}
f := parentCmd.Flag(flagName)
if f == nil {
continue
}
if f.Shorthand == flagName {
continue
if !isBuiltin(flagName) {
// The method Flag can only match the user custom flags.
f := parentCmd.Flag(flagName)
if f == nil {
continue
}
if f.Shorthand == flagName {
continue
}
}
goStyleFlag := doubleDash + f.Name
goStyleFlag := doubleDash + flagName
if assignIndex > 0 {
goStyleFlag += flagValue
}
@ -87,8 +90,13 @@ func supportGoStdFlag(args []string) []string {
return copyArgs
}
func isBuiltin(name string) bool {
return name == "version" || name == "help"
}
func init() {
rootCmd.Version = fmt.Sprintf("%s %s/%s", version.BuildVersion,
rootCmd.Version = fmt.Sprintf(
"%s %s/%s", version.BuildVersion,
runtime.GOOS, runtime.GOARCH)
rootCmd.AddCommand(api.Cmd)
rootCmd.AddCommand(bug.Cmd)

Loading…
Cancel
Save