From ee279a9014c3322af58686d9accf43b77d381770 Mon Sep 17 00:00:00 2001 From: Samuel K Date: Fri, 23 Oct 2026 00:43:59 -0600 Subject: [PATCH] refactor(options): reuse retrieveSubOptions in refreshSubOptions --- pkg/options/resolver/resolve.go | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/pkg/options/resolver/resolve.go b/pkg/options/resolver/resolve.go index f16f56e62b..64906043e9 100644 --- a/pkg/options/resolver/resolve.go +++ b/pkg/options/resolver/resolve.go @@ -347,35 +347,15 @@ func (r *Resolver) refreshSubOptions( optionName string, resolvedOptionValues map[string]config.OptionValue, ) error { - option, ok := r.graph.GetNode(optionName) - if !ok { - return nil - } - - if !r.resolveSubOptions || option.SubOptionsCommand == "" { - return nil - } - - _, ok = resolvedOptionValues[optionName] - if !ok { - return nil - } - - // execute the command - newDynamicOptions, err := resolveSubOptions(ctx, option, resolvedOptionValues, r.extraValues) + subOptions, err := r.retrieveSubOptions(ctx, optionName, resolvedOptionValues) if err != nil { return err } - - r.pruneChangedChildren(optionName, newDynamicOptions, resolvedOptionValues) - r.dropInvalidUserValues(newDynamicOptions) - setChildren(optionName, newDynamicOptions, resolvedOptionValues) - - if err := addOptionsToGraph(r.graph, newDynamicOptions, resolvedOptionValues); err != nil { - return fmt.Errorf("add sub options: %w", err) + if subOptions == nil { + return nil } - if err := resolveDynamicOptions(ctx, newDynamicOptions, r, resolvedOptionValues); err != nil { + if err := resolveDynamicOptions(ctx, subOptions, r, resolvedOptionValues); err != nil { return fmt.Errorf("resolve dynamic sub options: %w", err) }