feat(cli): Extend example demonstrating pflag.Value
parent
9335800af1
commit
ffe6344275
|
@ -6,12 +6,36 @@ import (
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type customFlag bool
|
||||||
|
|
||||||
|
func (c customFlag) String() string {
|
||||||
|
if c == true {
|
||||||
|
return "on"
|
||||||
|
}
|
||||||
|
return "off"
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *customFlag) Set(s string) error {
|
||||||
|
if s == "on" {
|
||||||
|
*c = true
|
||||||
|
} else {
|
||||||
|
*c = false
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *customFlag) Type() string {
|
||||||
|
return "fancy-bool"
|
||||||
|
}
|
||||||
|
|
||||||
func ExampleNewCommand() {
|
func ExampleNewCommand() {
|
||||||
var monitorHost string
|
var monitorHost string
|
||||||
var number int
|
var number int
|
||||||
var sleep bool
|
var sleep bool
|
||||||
var duration time.Duration
|
var duration time.Duration
|
||||||
var stringSlice []string
|
var stringSlice []string
|
||||||
|
var fancyBool customFlag
|
||||||
cmd := NewCommand(&Program{
|
cmd := NewCommand(&Program{
|
||||||
Run: func() error {
|
Run: func() error {
|
||||||
fmt.Println(monitorHost)
|
fmt.Println(monitorHost)
|
||||||
|
@ -21,6 +45,7 @@ func ExampleNewCommand() {
|
||||||
fmt.Println(sleep)
|
fmt.Println(sleep)
|
||||||
fmt.Println(duration)
|
fmt.Println(duration)
|
||||||
fmt.Println(stringSlice)
|
fmt.Println(stringSlice)
|
||||||
|
fmt.Println(fancyBool)
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
Name: "myprogram",
|
Name: "myprogram",
|
||||||
|
@ -55,6 +80,12 @@ func ExampleNewCommand() {
|
||||||
Default: []string{"foo", "bar"},
|
Default: []string{"foo", "bar"},
|
||||||
Desc: "things come in lists",
|
Desc: "things come in lists",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
DestP: &fancyBool,
|
||||||
|
Flag: "fancy-bool",
|
||||||
|
Default: "on",
|
||||||
|
Desc: "things that implement pflag.Value",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -68,4 +99,5 @@ func ExampleNewCommand() {
|
||||||
// true
|
// true
|
||||||
// 1m0s
|
// 1m0s
|
||||||
// [foo bar]
|
// [foo bar]
|
||||||
|
// on
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue