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:       &params.Language,
    43  			},
    44  		},
    45  		func(ccmd *captain.Command, _ []string) error {
    46  			return runner.Run(&params)
    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  }