MCPcopy
hub / github.com/urfave/cli / check

Method check

flag_mutex.go:19–44  ·  view source on GitHub ↗
(_ *Command)

Source from the content-addressed store, hash-verified

17}
18
19func (grp MutuallyExclusiveFlags) check(_ *Command) error {
20 oneSet := false
21 e := &mutuallyExclusiveGroup{}
22
23 for _, grpf := range grp.Flags {
24 for _, f := range grpf {
25 if f.IsSet() {
26 if oneSet {
27 e.flag2Name = f.Names()[0]
28 return e
29 }
30 e.flag1Name = f.Names()[0]
31 oneSet = true
32 break
33 }
34 if oneSet {
35 break
36 }
37 }
38 }
39
40 if !oneSet && grp.Required {
41 return &mutuallyExclusiveGroupRequiredFlag{flags: &grp}
42 }
43 return nil
44}
45
46func (grp MutuallyExclusiveFlags) propagateCategory() {
47 for _, grpf := range grp.Flags {

Callers 2

TestZeroValueMutexFlagFunction · 0.95
runMethod · 0.80

Calls 2

IsSetMethod · 0.65
NamesMethod · 0.65

Tested by 1

TestZeroValueMutexFlagFunction · 0.76