Skip to content

Commit d5a0eae

Browse files
authored
(DOCSP-30039) Adds mutually exclusive flag info (#41)
* (DOCSP-30039) Adds mutually exclusive flag info * Moves variables inside if statement
1 parent 1a45994 commit d5a0eae

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

flags.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,17 @@ func FlagUsages(f *pflag.FlagSet) string {
7373
}
7474
}
7575

76-
line += "\n - " + usage
76+
if len(flag.Annotations["cobra_annotation_mutually_exclusive"]) != 0 {
77+
mutuale := fmt.Sprintf("%v", flag.Annotations["cobra_annotation_mutually_exclusive"])
78+
mutuale = strings.ReplaceAll(mutuale, "]", "")
79+
mutuale = strings.ReplaceAll(mutuale, "[", "")
80+
mutuale = strings.ReplaceAll(mutuale, flag.Name+" ", "")
81+
mutuale = strings.ReplaceAll(mutuale, " "+flag.Name, "")
82+
mutuale = strings.ReplaceAll(mutuale, " ", ", --")
83+
line += "\n - " + usage + "\n\n Mutually exclusive with --" + mutuale + "."
84+
} else {
85+
line += "\n - " + usage
86+
}
7787
if !defaultIsZeroValue(flag) {
7888
if flag.Value.Type() == stringType {
7989
line += fmt.Sprintf(" This value defaults to %q.", flag.DefValue)

0 commit comments

Comments
 (0)