github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/cmd/state/internal/cmdtree/languages.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/languages" 8 ) 9 10 func newLanguagesCommand(prime *primer.Values) *captain.Command { 11 runner := languages.NewLanguages(prime) 12 13 return captain.NewCommand( 14 "languages", 15 locale.Tl("languages_title", "Listing Languages"), 16 locale.T("languages_cmd_description"), 17 prime, 18 []*captain.Flag{}, 19 []*captain.Argument{}, 20 func(ccmd *captain.Command, _ []string) error { 21 return runner.Run() 22 }, 23 ).SetGroup(PlatformGroup).SetSupportsStructuredOutput().SetUnstable(true) 24 } 25 26 func newLanguageInstallCommand(prime *primer.Values) *captain.Command { 27 runner := languages.NewUpdate(prime) 28 29 params := languages.UpdateParams{} 30 31 return captain.NewCommand( 32 "install", 33 locale.Tl("languages_install_title", "Installing Language"), 34 locale.T("languages_install_cmd_description"), 35 prime, 36 []*captain.Flag{}, 37 []*captain.Argument{ 38 { 39 Name: "language", 40 Description: locale.T("arg_languages_install_description"), 41 Required: true, 42 Value: ¶ms.Language, 43 }, 44 }, 45 func(ccmd *captain.Command, _ []string) error { 46 return runner.Run(¶ms) 47 }, 48 ).SetSupportsStructuredOutput() 49 } 50 51 func newLanguageSearchCommand(prime *primer.Values) *captain.Command { 52 runner := languages.NewSearch(prime) 53 54 return captain.NewCommand( 55 "search", 56 locale.Tl("languages_search_title", "Searching Languages"), 57 locale.Tl("languages_search_cmd_description", "Search for an available language to use in your project"), 58 prime, 59 []*captain.Flag{}, 60 []*captain.Argument{}, 61 func(ccmd *captain.Command, _ []string) error { 62 return runner.Run() 63 }, 64 ).SetSupportsStructuredOutput().SetUnstable(true) 65 }