github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/cmd/state/internal/cmdtree/branch.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/branch" 8 "github.com/ActiveState/cli/internal/runners/swtch" 9 ) 10 11 func newBranchCommand(prime *primer.Values) *captain.Command { 12 runner := branch.NewList(prime) 13 14 return captain.NewCommand( 15 "branch", 16 locale.Tl("branch_title", "Listing branches"), 17 locale.Tl("branch_description", "Manage your project's branches"), 18 prime, 19 []*captain.Flag{}, 20 []*captain.Argument{}, 21 func(_ *captain.Command, _ []string) error { 22 return runner.Run() 23 }).SetGroup(PlatformGroup).SetSupportsStructuredOutput().SetUnstable(true) 24 } 25 26 func newBranchSwitchCommand(prime *primer.Values) *captain.Command { 27 runner := swtch.New(prime) 28 29 params := swtch.SwitchParams{} 30 31 cmd := captain.NewCommand( 32 "switch", 33 locale.Tl("switch_title", "Switching branches"), 34 locale.Tl("switch_description", "Switch to the given branch name"), 35 prime, 36 []*captain.Flag{}, 37 []*captain.Argument{ 38 { 39 Name: locale.Tl("switch_arg_identifier", "identifier"), 40 Description: locale.Tl("switch_arg_identifier_description", "The commit or branch to switch to"), 41 Value: ¶ms.Identifier, 42 Required: true, 43 }, 44 }, 45 func(_ *captain.Command, _ []string) error { 46 return runner.Run(params) 47 }) 48 cmd.SetSupportsStructuredOutput() 49 // We set this command to hidden for backwards compatibility as we cannot 50 // alias `state switch` to `state branch switch` 51 cmd.SetHidden(true) 52 53 return cmd 54 }