github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/prompts/internal/multiselect.go (about)

     1  package main
     2  
     3  import (
     4  	"github.com/pterm/pterm"
     5  	"github.com/taubyte/tau-cli/prompts"
     6  	"github.com/urfave/cli/v2"
     7  )
     8  
     9  var MultiSelectCommand = &cli.Command{
    10  	Name: "multiselect",
    11  	Flags: []cli.Flag{
    12  		&cli.StringSliceFlag{
    13  			Name: "fruits",
    14  		},
    15  	},
    16  	Action: func(ctx *cli.Context) error {
    17  
    18  		cnf := &prompts.MultiSelectConfig{
    19  			Field:    "fruits",
    20  			Prompt:   "Fruits:",
    21  			Options:  []string{"apple", "banana", "orange"},
    22  			Required: true,
    23  		}
    24  
    25  		// New
    26  		cnf.Previous = prompts.MultiSelect(ctx, *cnf)
    27  
    28  		// Edit
    29  		cnf.Required = false
    30  		fruits := prompts.MultiSelect(&cli.Context{}, *cnf)
    31  
    32  		pterm.Success.Printfln("Got fruits: `%v`", fruits)
    33  		return nil
    34  	},
    35  }