From 25a72113b122f984c904b24c4af23a1cba1eff45 Mon Sep 17 00:00:00 2001 From: Wim Date: Sun, 4 Mar 2018 23:46:13 +0100 Subject: Add vendor files for spf13/viper --- .../github.com/magiconair/properties/integrate.go | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 vendor/github.com/magiconair/properties/integrate.go (limited to 'vendor/github.com/magiconair/properties/integrate.go') diff --git a/vendor/github.com/magiconair/properties/integrate.go b/vendor/github.com/magiconair/properties/integrate.go new file mode 100644 index 00000000..0d775e03 --- /dev/null +++ b/vendor/github.com/magiconair/properties/integrate.go @@ -0,0 +1,34 @@ +// Copyright 2017 Frank Schroeder. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package properties + +import "flag" + +// MustFlag sets flags that are skipped by dst.Parse when p contains +// the respective key for flag.Flag.Name. +// +// It's use is recommended with command line arguments as in: +// flag.Parse() +// p.MustFlag(flag.CommandLine) +func (p *Properties) MustFlag(dst *flag.FlagSet) { + m := make(map[string]*flag.Flag) + dst.VisitAll(func(f *flag.Flag) { + m[f.Name] = f + }) + dst.Visit(func(f *flag.Flag) { + delete(m, f.Name) // overridden + }) + + for name, f := range m { + v, ok := p.Get(name) + if !ok { + continue + } + + if err := f.Value.Set(v); err != nil { + ErrorHandler(err) + } + } +} -- cgit v1.2.3