github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/cmd/state/internal/cmdtree/config.go (about) 1 package cmdtree 2 3 import ( 4 "github.com/ActiveState/cli/internal/captain" 5 "github.com/ActiveState/cli/internal/locale" 6 "github.com/ActiveState/cli/internal/primer" 7 "github.com/ActiveState/cli/internal/runners/config" 8 ) 9 10 func newConfigCommand(prime *primer.Values) *captain.Command { 11 return captain.NewCommand( 12 "config", 13 locale.Tl("config_title", "Config"), 14 locale.Tl("config_description", "Manage the State Tool configuration"), 15 prime, 16 []*captain.Flag{}, 17 []*captain.Argument{}, 18 func(ccmd *captain.Command, _ []string) error { 19 runner, err := config.NewConfig(prime) 20 if err != nil { 21 return err 22 } 23 return runner.Run(ccmd.Usage) 24 }).SetGroup(UtilsGroup).SetSupportsStructuredOutput() 25 } 26 27 func newConfigGetCommand(prime *primer.Values) *captain.Command { 28 params := config.GetParams{} 29 return captain.NewCommand( 30 "get", 31 locale.Tl("config_get_title", "Get config value"), 32 locale.Tl("config_get_description", "Print config values to the terminal"), 33 prime, 34 []*captain.Flag{}, 35 []*captain.Argument{ 36 { 37 Name: "key", 38 Description: locale.Tl("arg_config_get_key", "Config key"), 39 Required: true, 40 Value: ¶ms.Key, 41 }, 42 }, 43 func(ccmd *captain.Command, args []string) error { 44 runner := config.NewGet(prime) 45 return runner.Run(params) 46 }).SetSupportsStructuredOutput() 47 } 48 49 func newConfigSetCommand(prime *primer.Values) *captain.Command { 50 params := config.SetParams{} 51 cmd := captain.NewCommand( 52 "set", 53 locale.Tl("config_set_title", "Set config value"), 54 locale.Tl("config_set_description", "Set config values using the terminal"), 55 prime, 56 []*captain.Flag{}, 57 []*captain.Argument{ 58 { 59 Name: "key", 60 Description: locale.Tl("arg_config_set_key", "Config key"), 61 Required: true, 62 Value: ¶ms.Key, 63 }, 64 { 65 Name: "value", 66 Description: locale.Tl("arg_config_set_value", "Config value"), 67 Required: true, 68 Value: ¶ms.Value, 69 }, 70 }, 71 func(ccmd *captain.Command, args []string) error { 72 runner := config.NewSet(prime) 73 return runner.Run(params) 74 }) 75 cmd.SetSkipChecks(true) 76 cmd.SetSupportsStructuredOutput() 77 return cmd 78 }