feat(completion): fish completions for the CLIs + just wrappers (just tui -<Tab>)#251
Merged
Conversation
… just wrappers Tab now offers subcommands, flags, and fixed-value sets: - `just tui -` -> --backend (fzf|whiptail|gum) / --lang (en|zh-TW) / --help / --version; `just secrets ...` sub-actions (scoped via __fish_seen_subcommand_from so bare `just <Tab>` is untouched). - setup_ubuntu subcommands + per-subcommand flags, module-name values from a cheap module/*.module.sh glob (no engine fork on Tab). - setup_ubuntu_tui.sh --backend / --lang; setup_secrets ssh-key/token/gpg sub-actions + --type ed25519|ecdsa|rsa. Files are allow-listed in .gitignore (the completions dir is otherwise ignored for fish's auto-generated completions) and installed by the existing fish module config-drop. test/unit/fish_completions_spec.bats does `fish -n` + `complete -C` functional smoke (also the lint gate, since the CI fish -n sweep prunes module/config). All 19 specs green in Docker. Claude-Session: https://claude.ai/code/session_01NX5H2vuMTv4mBmjpPYoS3s Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2 tasks
ycpss91255
added a commit
that referenced
this pull request
Jun 21, 2026
…nstall (#252) Reverts #251. Shell Tab completion fundamentally requires a completion file in the shell's completion path on the host; the maintainer does not want that host footprint for the dev flow, and it does not fit the repo's usage model. Flags remain discoverable with zero install via `just tui --help` / `setup_ubuntu --help`. Removes the four .fish files, the bats spec, the .gitignore allow-list lines, and the CHANGELOG entry. Claude-Session: https://claude.ai/code/session_01NX5H2vuMTv4mBmjpPYoS3s Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Shell Tab-completion (fish) for the CLIs and the
justwrappers, sojust tui -<Tab>offers
--backend/--langetc. (the maintainer's request) and the binariescomplete their subcommands/flags/values.
just tui/just secretsrecipe-arg completion, scoped via__fish_seen_subcommand_fromso barejust <Tab>(just's own completion) isuntouched.
setup_ubuntusubcommands + per-subcommand flags; module-name values from acheap
module/*.module.shglob (no engine fork on Tab).setup_ubuntu_tui.sh--backend fzf|whiptail|gum,--lang en|zh-TW;setup_secretsssh-key/token/gpg sub-actions +--type ed25519|ecdsa|rsa..gitignore(dir otherwise ignored for auto-generatedcompletions); installed by the fish module config-drop.
Test plan
test/unit/fish_completions_spec.bats: 19 green in Docker, incl.just tui '-' offers --backend --lang --help --versionand module-namecompletion. Uses
fish -n+complete -C(real completion engine).Generated with Claude Code.