package list import ( "context" "fmt" "edge-infra.dev/pkg/edge/edgecli" "edge-infra.dev/pkg/lib/cli/command" "edge-infra.dev/pkg/lib/cli/rags" ) func NewCmd(cfg *edgecli.Config) *command.Command { var verbose bool cmd := &command.Command{ ShortUsage: "edge list-contexts", ShortHelp: "Display the current contexts and all saved contexts", Commands: []*command.Command{ listbanner(cfg), listcluster(cfg), }, Flags: []*rags.Rag{ { Name: "verbose", Short: "v", Usage: "Verbose output", Value: &rags.Bool{Var: &verbose}, }, }, Exec: func(_ context.Context, _ []string) error { // prints current and all stored contexts // verbose flag causes all fields of contexts to be displayed fmt.Println(cfg.CurrentString()) fmt.Println(cfg.BannerContextsString(verbose)) fmt.Println(cfg.ClusterContextsString(verbose)) return nil }, } return cmd }