1package pr 2 3import ( 4 "github.com/MakeNowJust/heredoc" 5 cmdCheckout "github.com/cli/cli/v2/pkg/cmd/pr/checkout" 6 cmdChecks "github.com/cli/cli/v2/pkg/cmd/pr/checks" 7 cmdClose "github.com/cli/cli/v2/pkg/cmd/pr/close" 8 cmdComment "github.com/cli/cli/v2/pkg/cmd/pr/comment" 9 cmdCreate "github.com/cli/cli/v2/pkg/cmd/pr/create" 10 cmdDiff "github.com/cli/cli/v2/pkg/cmd/pr/diff" 11 cmdEdit "github.com/cli/cli/v2/pkg/cmd/pr/edit" 12 cmdList "github.com/cli/cli/v2/pkg/cmd/pr/list" 13 cmdMerge "github.com/cli/cli/v2/pkg/cmd/pr/merge" 14 cmdReady "github.com/cli/cli/v2/pkg/cmd/pr/ready" 15 cmdReopen "github.com/cli/cli/v2/pkg/cmd/pr/reopen" 16 cmdReview "github.com/cli/cli/v2/pkg/cmd/pr/review" 17 cmdStatus "github.com/cli/cli/v2/pkg/cmd/pr/status" 18 cmdView "github.com/cli/cli/v2/pkg/cmd/pr/view" 19 "github.com/cli/cli/v2/pkg/cmdutil" 20 "github.com/spf13/cobra" 21) 22 23func NewCmdPR(f *cmdutil.Factory) *cobra.Command { 24 cmd := &cobra.Command{ 25 Use: "pr <command>", 26 Short: "Manage pull requests", 27 Long: "Work with GitHub pull requests", 28 Example: heredoc.Doc(` 29 $ gh pr checkout 353 30 $ gh pr create --fill 31 $ gh pr view --web 32 `), 33 Annotations: map[string]string{ 34 "IsCore": "true", 35 "help:arguments": heredoc.Doc(` 36 A pull request can be supplied as argument in any of the following formats: 37 - by number, e.g. "123"; 38 - by URL, e.g. "https://github.com/OWNER/REPO/pull/123"; or 39 - by the name of its head branch, e.g. "patch-1" or "OWNER:patch-1". 40 `), 41 }, 42 } 43 44 cmdutil.EnableRepoOverride(cmd, f) 45 46 cmd.AddCommand(cmdCheckout.NewCmdCheckout(f, nil)) 47 cmd.AddCommand(cmdClose.NewCmdClose(f, nil)) 48 cmd.AddCommand(cmdCreate.NewCmdCreate(f, nil)) 49 cmd.AddCommand(cmdDiff.NewCmdDiff(f, nil)) 50 cmd.AddCommand(cmdList.NewCmdList(f, nil)) 51 cmd.AddCommand(cmdMerge.NewCmdMerge(f, nil)) 52 cmd.AddCommand(cmdReady.NewCmdReady(f, nil)) 53 cmd.AddCommand(cmdReopen.NewCmdReopen(f, nil)) 54 cmd.AddCommand(cmdReview.NewCmdReview(f, nil)) 55 cmd.AddCommand(cmdStatus.NewCmdStatus(f, nil)) 56 cmd.AddCommand(cmdView.NewCmdView(f, nil)) 57 cmd.AddCommand(cmdChecks.NewCmdChecks(f, nil)) 58 cmd.AddCommand(cmdComment.NewCmdComment(f, nil)) 59 cmd.AddCommand(cmdEdit.NewCmdEdit(f, nil)) 60 61 return cmd 62} 63