Skip to content

Commit 896f227

Browse files
authored
Merge pull request cli#3021 from g14a/bug/gist-deletion
Accept only one argument when deleting a gist
2 parents 98df059 + 66d4307 commit 896f227

5 files changed

Lines changed: 19 additions & 4 deletions

File tree

pkg/cmd/gist/delete/delete.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func NewCmdDelete(f *cmdutil.Factory, runF func(*DeleteOptions) error) *cobra.Co
2929
cmd := &cobra.Command{
3030
Use: "delete {<id> | <url>}",
3131
Short: "Delete a gist",
32-
Args: cmdutil.MinimumArgs(1, "cannot delete: gist argument required"),
32+
Args: cmdutil.ExactArgs(1, "cannot delete: gist argument required"),
3333
RunE: func(c *cobra.Command, args []string) error {
3434
opts.Selector = args[0]
3535
if runF != nil {

pkg/cmd/gist/edit/edit.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ func NewCmdEdit(f *cmdutil.Factory, runF func(*EditOptions) error) *cobra.Comman
4949
cmd := &cobra.Command{
5050
Use: "edit {<id> | <url>}",
5151
Short: "Edit one of your gists",
52-
Args: cmdutil.MinimumArgs(1, "cannot edit: gist argument required"),
52+
Args: cmdutil.ExactArgs(1, "cannot edit: gist argument required"),
5353
RunE: func(c *cobra.Command, args []string) error {
5454
opts.Selector = args[0]
5555

pkg/cmd/gist/view/view.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func NewCmdView(f *cmdutil.Factory, runF func(*ViewOptions) error) *cobra.Comman
3535
cmd := &cobra.Command{
3636
Use: "view {<id> | <url>}",
3737
Short: "View a gist",
38-
Args: cmdutil.MinimumArgs(1, "cannot view: gist argument required"),
38+
Args: cmdutil.ExactArgs(1, "cannot view: gist argument required"),
3939
RunE: func(cmd *cobra.Command, args []string) error {
4040
opts.Selector = args[0]
4141

pkg/cmd/pr/checkout/checkout.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ func NewCmdCheckout(f *cmdutil.Factory, runF func(*CheckoutOptions) error) *cobr
4646
cmd := &cobra.Command{
4747
Use: "checkout {<number> | <url> | <branch>}",
4848
Short: "Check out a pull request in git",
49-
Args: cmdutil.MinimumArgs(1, "argument required"),
49+
Args: cmdutil.ExactArgs(1, "argument required"),
5050
RunE: func(cmd *cobra.Command, args []string) error {
5151
// support `-R, --repo` override
5252
opts.BaseRepo = f.BaseRepo

pkg/cmdutil/args.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,21 @@ func MinimumArgs(n int, msg string) cobra.PositionalArgs {
2121
}
2222
}
2323

24+
func ExactArgs(n int, msg string) cobra.PositionalArgs {
25+
26+
return func(cmd *cobra.Command, args []string) error {
27+
if len(args) > n {
28+
return &FlagError{Err: errors.New("too many arguments")}
29+
}
30+
31+
if len(args) < n {
32+
return &FlagError{Err: errors.New(msg)}
33+
}
34+
35+
return nil
36+
}
37+
}
38+
2439
func NoArgsQuoteReminder(cmd *cobra.Command, args []string) error {
2540
if len(args) < 1 {
2641
return nil

0 commit comments

Comments
 (0)