Adding "OnInitialize()" method instead of directly setting a property. Now can have multiple initializers.

This commit is contained in:
spf13 2014-07-11 10:57:53 -04:00
parent 7cebca3761
commit 864687ae68
2 changed files with 8 additions and 5 deletions

View file

@ -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 {

View file

@ -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 {