Add shell auto-completion for zsh, bash, and fish
- completions/_ssr zsh #compdef completion using _arguments/_values
- completions/ssr.bash bash complete -F function (works with bash-completion@2)
- completions/ssr.fish fish completions with __ssr_needs_subcmd predicates
- bin/ssr-completions install/uninstall/status subcommand
- auto-detects $SHELL, --shell zsh|bash|fish|all
- symlinks into user-scoped paths (no sudo):
~/.zsh/completions/_ssr
~/.local/share/bash-completion/completions/ssr
~/.config/fish/completions/ssr.fish
- prints fpath/bash-completion setup hints if not configured
- bin/ssr dispatcher knows `completions`; help line added
- bin/ssr-install offers completion install after schedule prompt
- README Shell completions section, command list, layout entry
Verified:
- zsh -n on _ssr OK; autoload registers function
- bash -n on ssr.bash OK; `complete -p ssr` returns the registration after source
- end-to-end install/status/uninstall against an ephemeral $HOME
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -32,6 +32,7 @@ Commands:
|
||||
update [--dry-run] Pull latest ssr code, refresh launchd if needed.
|
||||
schedule on|off Enable/disable the scheduled launchd sync job.
|
||||
config show|edit Print or edit the active config file.
|
||||
completions Install or remove shell completions (zsh/bash/fish).
|
||||
status Show last sync time, cloud target, and scheduled state.
|
||||
version Print version.
|
||||
|
||||
@@ -61,7 +62,7 @@ done
|
||||
|
||||
cmd="$1"; shift
|
||||
case "$cmd" in
|
||||
install|sync|restore|update|schedule|config|status)
|
||||
install|sync|restore|update|schedule|config|completions|status)
|
||||
target="$SSR_BIN_DIR/ssr-$cmd"
|
||||
[[ -x "$target" ]] || ssr::die "Subcommand not executable: $target"
|
||||
exec "$target" "$@"
|
||||
|
||||
Reference in New Issue
Block a user