Adding "OnInitialize()" method instead of directly setting a property. Now can have multiple initializers.
This commit is contained in:
		
							
								
								
									
										9
									
								
								cobra.go
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								cobra.go
									
									
									
									
									
								
							| @ -25,11 +25,12 @@ import ( | ||||
| 	"text/template" | ||||
| ) | ||||
|  | ||||
| // Called after flags are parsed immediately before executing any Command | ||||
| var InitializeConfig func() | ||||
| var initializers []func() | ||||
|  | ||||
| func init() { | ||||
| 	InitializeConfig = func() {} | ||||
| func OnInitialize(y ...func()) { | ||||
| 	for _, x := range y { | ||||
| 		initializers = append(initializers, x) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func Gt(a interface{}, b interface{}) bool { | ||||
|  | ||||
| @ -358,7 +358,9 @@ func (c *Command) execute(a []string) (err error) { | ||||
| } | ||||
|  | ||||
| func (c *Command) preRun() { | ||||
| 	InitializeConfig() | ||||
| 	for _, x := range initializers { | ||||
| 		x() | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func (c *Command) errorMsgFromParse() string { | ||||
|  | ||||
		Reference in New Issue
	
	Block a user