github.com/ungtb10d/cli/v2@v2.0.0-20221110210412-98537dd9d6a1/pkg/cmd/config/config.go (about) 1 package config 2 3 import ( 4 "fmt" 5 "strings" 6 7 "github.com/ungtb10d/cli/v2/internal/config" 8 cmdGet "github.com/ungtb10d/cli/v2/pkg/cmd/config/get" 9 cmdList "github.com/ungtb10d/cli/v2/pkg/cmd/config/list" 10 cmdSet "github.com/ungtb10d/cli/v2/pkg/cmd/config/set" 11 "github.com/ungtb10d/cli/v2/pkg/cmdutil" 12 "github.com/spf13/cobra" 13 ) 14 15 func NewCmdConfig(f *cmdutil.Factory) *cobra.Command { 16 longDoc := strings.Builder{} 17 longDoc.WriteString("Display or change configuration settings for gh.\n\n") 18 longDoc.WriteString("Current respected settings:\n") 19 for _, co := range config.ConfigOptions() { 20 longDoc.WriteString(fmt.Sprintf("- %s: %s", co.Key, co.Description)) 21 if co.DefaultValue != "" { 22 longDoc.WriteString(fmt.Sprintf(" (default: %q)", co.DefaultValue)) 23 } 24 longDoc.WriteRune('\n') 25 } 26 27 cmd := &cobra.Command{ 28 Use: "config <command>", 29 Short: "Manage configuration for gh", 30 Long: longDoc.String(), 31 } 32 33 cmdutil.DisableAuthCheck(cmd) 34 35 cmd.AddCommand(cmdGet.NewCmdConfigGet(f, nil)) 36 cmd.AddCommand(cmdSet.NewCmdConfigSet(f, nil)) 37 cmd.AddCommand(cmdList.NewCmdConfigList(f, nil)) 38 39 return cmd 40 }