func SetFromEnv(into flag.Value, envVars string) bool {
	multiValued, isMulti := into.(MultiValued)
	if len(envVars) > 0 {
		for _, ev := range strings.Fields(envVars) {
			v := os.Getenv(ev)
			if len(v) == 0 {
				continue
			}
			if !isMulti {
				if err := into.Set(v); err == nil {
					return true
				}
				continue
			}
			vs := strings.Split(v, ",")
			if err := setMultivalued(multiValued, vs); err == nil {
				return true
			}
		}
	}
	return false
}
SetFromEnv fills a value from a list of env vars
package values
import (
	"flag"
	"os"
	"strings"
)
func IsBool(v flag.Value) bool {
	if bf, ok := v.(BoolValued); ok {
		return bf.IsBoolFlag()
	}
	return false
}