What
Track upstream progress on grouped/colorized just <TAB> recipe completion, and migrate our local dot_zfunc/_just completer to the native engine once the upstream pieces land.
Why
We currently ship a hand-rolled zsh completer (dot_zfunc/_just) that parses just --dump --dump-format json and groups recipes by their [group('...')] attribute via _describe, rendered with fzf-tab. The native just completer can't do this yet — it dumps every recipe into one flat group, discarding group metadata.
The feature is blocked upstream, in this chain:
- clap —
CompletionCandidate has only value + help(), no tag/group field. A per-candidate tag API is in clap-rs/clap#6334 (from #6320) — OPEN, not merged.
- just — would consume that tag in
candidate_recipes() (src/completer.rs), where Recipe::groups() (src/recipe.rs) already exposes the data. Tracked upstream at casey/just#2406. Also requires bumping just's clap_complete = "=4.6.5" pin once clap lands. (casey/just does not accept PRs.)
We posted the proposal + downstream use-case on both trackers:
How / acceptance
When the upstream chain lands (clap#6334 merged → released → just bumps the pin and tags recipe candidates by group), revisit:
No action until then — this is a watch/migrate tracker.
What
Track upstream progress on grouped/colorized
just <TAB>recipe completion, and migrate our localdot_zfunc/_justcompleter to the native engine once the upstream pieces land.Why
We currently ship a hand-rolled zsh completer (
dot_zfunc/_just) that parsesjust --dump --dump-format jsonand groups recipes by their[group('...')]attribute via_describe, rendered with fzf-tab. The nativejustcompleter can't do this yet — it dumps every recipe into one flat group, discarding group metadata.The feature is blocked upstream, in this chain:
CompletionCandidatehas onlyvalue+help(), no tag/group field. A per-candidate tag API is in clap-rs/clap#6334 (from #6320) — OPEN, not merged.candidate_recipes()(src/completer.rs), whereRecipe::groups()(src/recipe.rs) already exposes the data. Tracked upstream at casey/just#2406. Also requires bumping just'sclap_complete = "=4.6.5"pin once clap lands. (casey/just does not accept PRs.)We posted the proposal + downstream use-case on both trackers:
zsh) clap-rs/clap#6334 (comment)How / acceptance
When the upstream chain lands (clap#6334 merged → released → just bumps the pin and tags recipe candidates by group), revisit:
dot_zfunc/_just+ the.chezmoidata/completions.tomlentry in favour of the native completer, if it covers the grouped/colorized UXNo action until then — this is a watch/migrate tracker.