Skip to content

Commit

Permalink
Check duplicate flag
Browse files Browse the repository at this point in the history
Signed-off-by: Oleg Kovalov <oleg@hey.com>
  • Loading branch information
cristaloleg committed Aug 2, 2021
1 parent 5ae6b2e commit 7606926
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions aconfig.go
Expand Up @@ -156,11 +156,16 @@ func (l *Loader) init() {

l.flagSet = flag.NewFlagSet(l.config.FlagPrefix, flag.ContinueOnError)
if !l.config.SkipFlags {
names := make(map[string]bool, len(l.fields))
for _, field := range l.fields {
flagName := l.fullTag(l.config.FlagPrefix, field, flagNameTag)
if flagName == "" {
continue
}
if names[flagName] && !l.config.AllowDuplicates {
panic(fmt.Errorf("duplicate flag %q", flagName))
}
names[flagName] = true
l.flagSet.String(flagName, field.Tag(defaultValueTag), field.Tag(usageTag))
}
}
Expand Down

0 comments on commit 7606926

Please sign in to comment.