Install shell completion as an optional command
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Shell completion implementation plan
|
||||
|
||||
Status: Stages 1–2 complete. Stage 3 is next.
|
||||
Status: Stages 1–3 complete. Stage 4 is next.
|
||||
|
||||
Implement the [shell completion roadmap](completion.md) from baseline
|
||||
`2301872`. Follow the stages in order in one sprint. Intermediate stages may
|
||||
@@ -109,6 +109,8 @@ internal adapter, and neutral metadata package tests pass with `GOWORK=off` and
|
||||
|
||||
## Stage 3: Install completion as an ordinary declaration
|
||||
|
||||
Status: complete.
|
||||
|
||||
1. Add `func Completion(executable string) Command`. The parameter is the
|
||||
executable basename the operator types, independent of the human-readable
|
||||
`Identity.Name`. Use a root-only `completion` group with three runnable
|
||||
@@ -134,6 +136,16 @@ internal adapter, and neutral metadata package tests pass with `GOWORK=off` and
|
||||
rollback, late installation, and absence of new reserved names for an app
|
||||
that does not install completion.
|
||||
|
||||
Completion: added the root-only completion declaration and three script
|
||||
commands, with generator output delivered through the invocation reporter.
|
||||
Registration validates hidden-query collisions in either order, and the routing
|
||||
snapshot reflects committed installation. Tests cover help, quiet output,
|
||||
delivery failure, invalid basenames, opt-in behavior, collisions, rollback,
|
||||
nesting, and late installation. Fish variable names are adjusted to support
|
||||
dotted executable basenames; interactive checks of those names pass in Bash,
|
||||
Zsh, and Fish. Root and adapter package tests pass with `GOWORK=off` and
|
||||
`GOTOOLCHAIN=local`.
|
||||
|
||||
## Stage 4: Resolve the entered command context
|
||||
|
||||
1. Add a private core completion request that separates completed words from
|
||||
|
||||
Reference in New Issue
Block a user