Browse code

Update cobra to 75205f23b3ea70dc7ae5e900d074e010c23c37e9

Signed-off-by: Vincent Demeester <vincent@sbr.pm>

Vincent Demeester authored on 2016/06/06 20:58:18
Showing 2 changed files
... ...
@@ -139,7 +139,7 @@ clone git github.com/docker/docker-credential-helpers v0.3.0
139 139
 clone git github.com/docker/containerd 57b7c3da915ebe943bd304c00890959b191e5264
140 140
 
141 141
 # cli
142
-clone git github.com/spf13/cobra acf60156558542e78c6f3695f74b0f871614ff55 https://github.com/dnephin/cobra.git
142
+clone git github.com/spf13/cobra 75205f23b3ea70dc7ae5e900d074e010c23c37e9 https://github.com/dnephin/cobra.git
143 143
 clone git github.com/spf13/pflag cb88ea77998c3f024757528e3305022ab50b43be
144 144
 clone git github.com/inconshreveable/mousetrap 76626ae9c91c4f2a10f34cad8ce83ea42c93bb75
145 145
 
... ...
@@ -123,6 +123,9 @@ type Command struct {
123 123
 	DisableSuggestions bool
124 124
 	// If displaying suggestions, allows to set the minimum levenshtein distance to display, must be > 0
125 125
 	SuggestionsMinimumDistance int
126
+
127
+	// Disable the flag parsing. If this is true all flags will be passed to the command as arguments.
128
+	DisableFlagParsing bool
126 129
 }
127 130
 
128 131
 // os.Args[1:] by default, if desired, can be overridden
... ...
@@ -556,12 +559,16 @@ func (c *Command) execute(a []string) (err error) {
556 556
 		return flag.ErrHelp
557 557
 	}
558 558
 
559
-	if err := c.ValidateArgs(a); err != nil {
560
-		return err
561
-	}
562
-
563 559
 	c.preRun()
560
+
564 561
 	argWoFlags := c.Flags().Args()
562
+	if c.DisableFlagParsing {
563
+		argWoFlags = a
564
+	}
565
+
566
+	if err := c.ValidateArgs(argWoFlags); err != nil {
567
+		return err
568
+	}
565 569
 
566 570
 	for p := c; p != nil; p = p.Parent() {
567 571
 		if p.PersistentPreRunE != nil {
... ...
@@ -702,7 +709,7 @@ func (c *Command) ValidateArgs(args []string) error {
702 702
 	if c.Args == nil {
703 703
 		return nil
704 704
 	}
705
-	return c.Args(c, stripFlags(args, c))
705
+	return c.Args(c, args)
706 706
 }
707 707
 
708 708
 func (c *Command) initHelpFlag() {
... ...
@@ -1200,6 +1207,9 @@ func (c *Command) persistentFlag(name string) (flag *flag.Flag) {
1200 1200
 
1201 1201
 // ParseFlags parses persistent flag tree & local flags
1202 1202
 func (c *Command) ParseFlags(args []string) (err error) {
1203
+	if c.DisableFlagParsing {
1204
+		return nil
1205
+	}
1203 1206
 	c.mergePersistentFlags()
1204 1207
 	err = c.Flags().Parse(args)
1205 1208
 	return