mirror of
https://github.com/spf13/cobra
synced 2024-11-24 14:47:12 +00:00
Adding "OnInitialize()" method instead of directly setting a property. Now can have multiple initializers.
This commit is contained in:
parent
7cebca3761
commit
864687ae68
2 changed files with 8 additions and 5 deletions
9
cobra.go
9
cobra.go
|
@ -25,11 +25,12 @@ import (
|
||||||
"text/template"
|
"text/template"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Called after flags are parsed immediately before executing any Command
|
var initializers []func()
|
||||||
var InitializeConfig func()
|
|
||||||
|
|
||||||
func init() {
|
func OnInitialize(y ...func()) {
|
||||||
InitializeConfig = func() {}
|
for _, x := range y {
|
||||||
|
initializers = append(initializers, x)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func Gt(a interface{}, b interface{}) bool {
|
func Gt(a interface{}, b interface{}) bool {
|
||||||
|
|
|
@ -358,7 +358,9 @@ func (c *Command) execute(a []string) (err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Command) preRun() {
|
func (c *Command) preRun() {
|
||||||
InitializeConfig()
|
for _, x := range initializers {
|
||||||
|
x()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Command) errorMsgFromParse() string {
|
func (c *Command) errorMsgFromParse() string {
|
||||||
|
|
Loading…
Reference in a new issue