Files
kong/env.go
T
Alec Thomas fbe8d48e4b Convert env management to a resolver.
This ensures that hooks correctly detect when values are set via
environment variables. Fixes #73.
2020-04-16 22:20:43 +10:00

22 lines
442 B
Go

package kong
import (
"os"
)
// EnvarResolver resolves values from environment variables.
//
// It is installed by default. Use ClearResolvers() to disable this.
func EnvarResolver() Resolver {
return ResolverFunc(func(context *Context, parent *Path, flag *Flag) (interface{}, error) {
if flag.Tag.Env == "" {
return nil, nil
}
envar := os.Getenv(flag.Tag.Env)
if envar != "" {
return envar, nil
}
return nil, nil
})
}