Add negatable output when using short flag names

This commit is contained in:
Joe Schmitt
2021-03-01 16:41:31 -05:00
committed by Alec Thomas
parent ed24960916
commit d48f4e59c3
2 changed files with 13 additions and 9 deletions
+10 -6
View File
@@ -469,17 +469,21 @@ func formatFlag(haveShort bool, flag *Flag) string {
name := flag.Name
isBool := flag.IsBool()
if flag.Short != 0 {
flagString += fmt.Sprintf("-%c, --%s", flag.Short, name)
if isBool && flag.Tag.Negatable {
flagString += fmt.Sprintf("-%c, --[no-]%s", flag.Short, name)
} else {
flagString += fmt.Sprintf("-%c, --%s", flag.Short, name)
}
} else {
if haveShort {
if isBool && flag.Tag.Negatable {
if isBool && flag.Tag.Negatable {
if haveShort {
flagString = fmt.Sprintf(" --[no-]%s", name)
} else {
flagString += fmt.Sprintf(" --%s", name)
flagString = fmt.Sprintf("--[no-]%s", name)
}
} else {
if isBool && flag.Tag.Negatable {
flagString = fmt.Sprintf("--[no-]%s", name)
if haveShort {
flagString += fmt.Sprintf(" --%s", name)
} else {
flagString += fmt.Sprintf("--%s", name)
}