refactor without VisitAll
This commit is contained in:
parent
141518d8a3
commit
a9cc63b8a3
1 changed files with 16 additions and 20 deletions
|
|
@ -24,35 +24,31 @@ type JSONFlagError struct {
|
|||
}
|
||||
|
||||
func AddJSONFlags(cmd *cobra.Command, exportTarget *Exporter, fields []string) {
|
||||
f := createFlags()
|
||||
|
||||
f.VisitAll(func(flag *pflag.Flag) {
|
||||
if flag.Name == "jq" {
|
||||
flag.Shorthand = "q"
|
||||
}
|
||||
if flag.Name == "template" {
|
||||
flag.Shorthand = "t"
|
||||
}
|
||||
cmd.Flags().AddFlag(flag)
|
||||
})
|
||||
f := cmd.Flags()
|
||||
addJsonFlag(f)
|
||||
addJqFlag(f, "q")
|
||||
addTemplateFlag(f, "t")
|
||||
|
||||
setupJsonFlags(cmd, exportTarget, fields)
|
||||
}
|
||||
|
||||
func AddJSONFlagsWithoutShorthand(cmd *cobra.Command, exportTarget *Exporter, fields []string) {
|
||||
f := createFlags()
|
||||
f.VisitAll(func(flag *pflag.Flag) {
|
||||
cmd.Flags().AddFlag(flag)
|
||||
})
|
||||
f := cmd.Flags()
|
||||
addJsonFlag(f)
|
||||
addJqFlag(f, "")
|
||||
addTemplateFlag(f, "")
|
||||
|
||||
setupJsonFlags(cmd, exportTarget, fields)
|
||||
}
|
||||
|
||||
func createFlags() *pflag.FlagSet {
|
||||
f := pflag.NewFlagSet("", pflag.ContinueOnError)
|
||||
func addJsonFlag(f *pflag.FlagSet) {
|
||||
f.StringSlice("json", nil, "Output JSON with the specified `fields`")
|
||||
f.String("jq", "", "Filter JSON output using a jq `expression`")
|
||||
f.String("template", "", "Format JSON output using a Go template; see \"gh help formatting\"")
|
||||
return f
|
||||
}
|
||||
func addJqFlag(f *pflag.FlagSet, shorthand string) {
|
||||
f.StringP("jq", shorthand, "", "Filter JSON output using a jq `expression`")
|
||||
}
|
||||
func addTemplateFlag(f *pflag.FlagSet, shorthand string) {
|
||||
f.StringP("template", shorthand, "", "Format JSON output using a Go template; see \"gh help formatting\"")
|
||||
}
|
||||
|
||||
func setupJsonFlags(cmd *cobra.Command, exportTarget *Exporter, fields []string) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue