mpflag.go

 1package mpflag
 2
 3import (
 4	"github.com/muesli/mango"
 5	"github.com/spf13/pflag"
 6)
 7
 8// PFlagVisitor is used to visit all flags and track them in a mango.ManPage.
 9func PFlagVisitor(m *mango.ManPage) func(*pflag.Flag) {
10	return func(f *pflag.Flag) {
11		_ = m.Root.AddFlag(mango.Flag{
12			Name:  f.Name,
13			Short: f.Shorthand,
14			Usage: f.Usage,
15			PFlag: true,
16		})
17	}
18}
19
20// PFlagCommandVisitor is used to visit all flags and track them in a mango.Command.
21func PFlagCommandVisitor(c *mango.Command) func(*pflag.Flag) {
22	return func(f *pflag.Flag) {
23		_ = c.AddFlag(mango.Flag{
24			Name:  f.Name,
25			Short: f.Shorthand,
26			Usage: f.Usage,
27			PFlag: true,
28		})
29	}
30}