Oliver Surke
|
c1848f66e8
|
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>
|
2026-05-11 16:16:22 +02:00 |
|
Oliver Surke
|
539a8fc28f
|
Initial ssr repository
Convert the legacy system_sync.sh and system_restore.sh into a modular
shareable repository:
- bin/ssr CLI dispatcher with install/sync/restore/schedule/config/status
- lib/ split: common, cloud, brew, mackup, macos
- Cloud provider abstraction (icloud, dropbox, googledrive, onedrive, custom)
- launchd template for scheduled daily sync (renderable via sed)
- ssr.conf.example with whitelisted KEY=VALUE config loader
- macos-defaults.sh extracted from inline block, overridable
- install.sh bootstrap symlinks CLI into ~/.local/bin
- README with usage, config table, migration map, security notes
- Original scripts archived under legacy/ for reference
Fixes vs originals: set -euo pipefail, quoted vars, find -print0,
spctl --global-disable (was --master-disable), MACOS=".macos" bug,
zero-width char before ln, Apple Silicon brew shellenv, config injection
hardening.
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-11 15:05:17 +02:00 |
|