Skip to content

Commit 6b7bb4e

Browse files
committed
Cleanup code
1 parent 5a03a5d commit 6b7bb4e

File tree

2 files changed

+6
-9
lines changed

2 files changed

+6
-9
lines changed

cli/clibase/cmd.go

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -264,14 +264,11 @@ func (i *Invocation) run(state *runState) error {
264264

265265
// Set defaults for flags that weren't set by the user.
266266
skipDefaults := make(map[string]struct{}, len(i.Command.Options))
267-
i.parsedFlags.VisitAll(func(f *pflag.Flag) {
268-
if !f.Changed {
269-
return
270-
}
271-
skipDefaults[f.Name] = struct{}{}
272-
})
273267
for _, opt := range i.Command.Options {
274-
if opt.envSet {
268+
if fl := i.parsedFlags.Lookup(opt.Flag); fl != nil && fl.Changed {
269+
skipDefaults[opt.Name] = struct{}{}
270+
}
271+
if opt.envChanged {
275272
skipDefaults[opt.Name] = struct{}{}
276273
}
277274
}

cli/clibase/option.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ type Option struct {
4747

4848
Hidden bool `json:"hidden,omitempty"`
4949

50-
envSet bool
50+
envChanged bool
5151
}
5252

5353
// OptionSet is a group of options that can be applied to a command.
@@ -135,7 +135,7 @@ func (s *OptionSet) ParseEnv(vs []EnvVar) error {
135135
continue
136136
}
137137

138-
opt.envSet = true
138+
opt.envChanged = true
139139
if err := opt.Value.Set(envVal); err != nil {
140140
merr = multierror.Append(
141141
merr, xerrors.Errorf("parse %q: %w", opt.Name, err),

0 commit comments

Comments
 (0)