mirror of
https://github.com/spf13/cobra
synced 2024-11-24 14:47:12 +00:00
Rewrote DebugFlags() function
This commit is contained in:
parent
c5eb49e3f5
commit
90b975fd8e
1 changed files with 36 additions and 8 deletions
44
cobra.go
44
cobra.go
|
@ -180,18 +180,46 @@ func (c *Command) Usage(depth ...int) string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Command) DebugFlags() {
|
func (c *Command) DebugFlags() {
|
||||||
fmt.Println("called on", c.Name())
|
fmt.Println("DebugFlags called on", c.Name())
|
||||||
if c.HasSubCommands() {
|
var debugflags func(*Command)
|
||||||
for _, x := range c.commands {
|
|
||||||
|
debugflags = func(x *Command) {
|
||||||
|
if x.HasFlags() || x.HasPersistentFlags() {
|
||||||
fmt.Println(x.Name())
|
fmt.Println(x.Name())
|
||||||
x.flags.VisitAll(func(f *flag.Flag) { fmt.Println(" l:"+f.Name, f.Shorthand, f.DefValue, ":", f.Value) })
|
}
|
||||||
x.pflags.VisitAll(func(f *flag.Flag) { fmt.Println(" p:"+f.Name, f.Shorthand, f.DefValue, ":", f.Value) })
|
if x.HasFlags() {
|
||||||
fmt.Println(x.flagErrorBuf)
|
x.flags.VisitAll(func(f *flag.Flag) {
|
||||||
if x.HasSubCommands() {
|
if x.HasPersistentFlags() {
|
||||||
x.DebugFlags()
|
if x.persistentFlag(f.Name) == nil {
|
||||||
|
fmt.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [L]")
|
||||||
|
} else {
|
||||||
|
fmt.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [LP]")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
fmt.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [L]")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if x.HasPersistentFlags() {
|
||||||
|
x.pflags.VisitAll(func(f *flag.Flag) {
|
||||||
|
if x.HasFlags() {
|
||||||
|
if x.flags.Lookup(f.Name) == nil {
|
||||||
|
fmt.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [P]")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
fmt.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [P]")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
fmt.Println(x.flagErrorBuf)
|
||||||
|
if x.HasSubCommands() {
|
||||||
|
for _, y := range x.commands {
|
||||||
|
debugflags(y)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
debugflags(c)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Usage prints the usage details to the standard output.
|
// Usage prints the usage details to the standard output.
|
||||||
|
|
Loading…
Reference in a new issue