Skip to content

Do not emit option metavariables as shell-completion enum values #4902

Description

@Widthdom

Summary

PowerShell completion suggests literal name/path values for free-form options such as --project and --open-issues, because placeholders are treated as finite enum choices.

Audit IDs: P-10. Reproduced with locally built cdidx v1.40.3 at 404db09489c305f17d94f37026e00564d3ac527a.

Existing issue relationship

Residual/follow-up adjacent to closed #1807, #4347, #4732, #4571, and #4427's completion/option metadata work.

Expected behavior and PR scope

Canonical option metadata must distinguish metavariables from finite choices; every shell generator should consume that distinction. One completion-regeneration PR.

Implementation guide for Codex 5.6 sol xhigh

  • Represent value kind (enum/path/project/repo/free text/etc.) separately from placeholder display text.
  • Regenerate all supported shell completions and add source-level/smoke assertions across shells.
  • Provide contextual path/project/repo completion where supported without offering placeholder literals.
  • Cover aliases, multi-value options, optional values, quoting, and dynamic value sources.
  • Add focused regression/contract tests, run the full net8.0 and net9.0 suite, and add the required bilingual changelog.d/unreleased/ fragment.

Acceptance criteria

  • name/path are never suggested as literal enum values for free-form options.
  • Real finite values remain available.
  • All supported shell scripts use the same canonical metadata.

Metadata

Metadata

Assignees

No one assigned

    Labels

    .NETPull requests that update .NET codebugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions