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}