Record flag alias scope and target availability decisions
This commit is contained in:
@@ -272,9 +272,28 @@ declaring a command alias, using the shared registration conventions above.
|
|||||||
Support application-wide mappings and mappings scoped to a canonical command.
|
Support application-wide mappings and mappings scoped to a canonical command.
|
||||||
The selected canonical command determines the applicable flag aliases, so a
|
The selected canonical command determines the applicable flag aliases, so a
|
||||||
command-scoped mapping works through every command alias that reaches that
|
command-scoped mapping works through every command alias that reaches that
|
||||||
target. An application-wide help alias provides the same convenience throughout
|
target. A command-scoped mapping takes precedence over an application-wide
|
||||||
the application. Scope precedence and handling of targets unavailable on some
|
mapping for the same alias spelling. Reject different-target mappings within
|
||||||
commands remain open.
|
the same scope; identical duplicates are harmless. Registration order does not
|
||||||
|
choose a winner, and neither scope may overload an applicable canonical flag.
|
||||||
|
|
||||||
|
An application-wide mapping is available wherever its target flag exists and
|
||||||
|
contributes nothing elsewhere. For example, `--colour → --color` need not require
|
||||||
|
every command to define `--color`. On a command without that target, `--colour`
|
||||||
|
receives the ordinary unknown-flag error. Reusable application-wide declarations
|
||||||
|
are valid even when no currently installed command has their target flag.
|
||||||
|
|
||||||
|
A command-scoped mapping requires its named canonical command and target flag
|
||||||
|
to exist in the complete candidate installation batch. An unavailable explicit
|
||||||
|
destination is invalid configuration.
|
||||||
|
|
||||||
|
Application-wide mappings also apply to built-in flags at the application root
|
||||||
|
and on groups. In particular, `--hlep → --help` works wherever canonical
|
||||||
|
`--help` works, including help for alias-only prefixes.
|
||||||
|
|
||||||
|
Later registration repeats validation against the candidate registry. Newly
|
||||||
|
installed commands gain applicable application-wide aliases automatically;
|
||||||
|
canonical spelling collisions reject the batch under the collision rules below.
|
||||||
|
|
||||||
### Token interpretation
|
### Token interpretation
|
||||||
|
|
||||||
@@ -297,7 +316,7 @@ arity, boolean syntax, or option termination.
|
|||||||
|
|
||||||
Match the complete flag name. Length precedence does not apply: `--out` and
|
Match the complete flag name. Length precedence does not apply: `--out` and
|
||||||
`--output` are different names, and only `--out` participates in alias lookup in
|
`--output` are different names, and only `--out` participates in alias lookup in
|
||||||
`--out=value`. Scope precedence remains a separate decision. Resolution must
|
`--out=value`. Use the scope precedence selected above. Resolution must
|
||||||
be deterministic and must not depend on registration order.
|
be deterministic and must not depend on registration order.
|
||||||
|
|
||||||
### Canonical flag collisions
|
### Canonical flag collisions
|
||||||
@@ -326,8 +345,8 @@ spelling accumulate in order. Alias resolution adds no second conversion or
|
|||||||
input-preparation lifecycle.
|
input-preparation lifecycle.
|
||||||
|
|
||||||
Flag aliases do not change canonical flag ownership or add new provider
|
Flag aliases do not change canonical flag ownership or add new provider
|
||||||
capabilities. Short-flag support, chains, alias-to-alias scope conflicts,
|
capabilities. Short-flag support, chains and their validation, and help
|
||||||
target validation, and help presentation remain open below.
|
presentation remain open below.
|
||||||
|
|
||||||
## Work needed from the baseline
|
## Work needed from the baseline
|
||||||
|
|
||||||
@@ -378,10 +397,8 @@ canonical invocation paths?
|
|||||||
|
|
||||||
### OD-6: Flag alias scope and composition
|
### OD-6: Flag alias scope and composition
|
||||||
|
|
||||||
How do application-wide and command-scoped mappings interact when both apply?
|
Scope precedence, target availability, and application to built-in help are
|
||||||
How is an application-wide mapping treated on commands lacking its target flag?
|
selected above. Which short-flag forms are supported? Are flag-alias chains
|
||||||
How are aliases applied to built-in help on groups and at the application root?
|
supported, and how do scope precedence and target availability apply through
|
||||||
Which short-flag forms are supported? Are flag-alias chains supported, and how
|
a chain? How are cycles validated at installation and later registration?
|
||||||
are alias-to-alias conflicts, cycles, and missing targets validated at installation
|
How are flag aliases exposed in help and diagnostic spelling?
|
||||||
and later registration? How are flag aliases exposed in help and diagnostic
|
|
||||||
spelling?
|
|
||||||
|
|||||||
Reference in New Issue
Block a user