Skip to content

Support per-option CaseSensitivity/Arity overrides in typed global options (UseGlobalOptions<T>) #64

Description

@carldebilly

Context

Since the issue #57 fix, [ReplOption(CaseSensitivity = ...)] and [ReplOption(Arity = ...)] are settable. On typed global-options properties (UseGlobalOptions<T>), these overrides are not flowed into AddGlobalOptionCore — the global-option pipeline has no per-option override concept yet.

As of PR #63, declaring such an override on a global-options property fails fast at registration with NotSupportedException (guarded by When_GlobalOptionsPropertyDeclaresOverride_Then_RegistrationFailsFast), so it is no longer a silent no-op — but the feature itself is unimplemented.

Scope

  • Plumb CaseSensitivityOverride/ArityOverride from ReplOptionAttribute through GlobalOptionsExtensions.UseGlobalOptions<T> into the global-option registration and resolution (GlobalOptionParser).
  • Replace the fail-fast guard with actual support once the pipeline honors the overrides.
  • Mirror the execution/completion parity tests that exist for route options.

Origin

Flagged during the adversarial review of PR #63 (release triage for 0.11): the override became reachable for the first time, making the silent discard a newly observable behavior. Deferred past 0.11.0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Fields

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions