github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/cmd/state/internal/cmdtree/eval.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/eval"
     8  )
     9  
    10  func newEvalCommand(prime *primer.Values) *captain.Command {
    11  	runner := eval.New(prime)
    12  	params := &eval.Params{}
    13  
    14  	cmd := captain.NewCommand(
    15  		"eval",
    16  		"",
    17  		locale.Tl("eval_description", "Evaluate a buildscript target"),
    18  		prime,
    19  		[]*captain.Flag{},
    20  		[]*captain.Argument{
    21  			{
    22  				Name:        "target",
    23  				Description: locale.Tl("eval_args_target_description", "The target to evaluate"),
    24  				Value:       &params.Target,
    25  				Required:    true,
    26  			},
    27  		},
    28  		func(_ *captain.Command, _ []string) error {
    29  			return runner.Run(params)
    30  		},
    31  	)
    32  	cmd.SetGroup(AuthorGroup)
    33  
    34  	return cmd
    35  }