github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/cmd/state/internal/cmdtree/scripts.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/scripts"
     8  )
     9  
    10  func newScriptsCommand(prime *primer.Values) *captain.Command {
    11  	runner := scripts.NewScripts(prime)
    12  
    13  	return captain.NewCommand(
    14  		"scripts",
    15  		locale.Tl("scripts_title", "Listing Scripts"),
    16  		locale.T("scripts_description"),
    17  		prime,
    18  		[]*captain.Flag{},
    19  		[]*captain.Argument{},
    20  		func(ccmd *captain.Command, args []string) error {
    21  			return runner.Run()
    22  		}).SetGroup(AutomationGroup).SetSupportsStructuredOutput()
    23  }
    24  
    25  func newScriptsEditCommand(prime *primer.Values) *captain.Command {
    26  	editRunner := scripts.NewEdit(prime)
    27  	params := scripts.EditParams{}
    28  
    29  	return captain.NewCommand(
    30  		"edit",
    31  		locale.Tl("scripts_edit_title", "Editing Script"),
    32  		locale.T("edit_description"),
    33  		prime,
    34  		[]*captain.Flag{
    35  			{
    36  				Name:        "expand",
    37  				Shorthand:   "e",
    38  				Description: locale.T("edit_script_cmd_expand_flag"),
    39  				Value:       &params.Expand,
    40  			},
    41  		},
    42  		[]*captain.Argument{
    43  			{
    44  				Name:        locale.T("edit_script_cmd_name_arg"),
    45  				Description: locale.T("edit_script_cmd_name_arg_description"),
    46  				Value:       &params.Name,
    47  				Required:    true,
    48  			},
    49  		},
    50  		func(ccmd *captain.Command, args []string) error {
    51  			return editRunner.Run(&params)
    52  		},
    53  	).SetUnstable(true)
    54  
    55  }