Enable shell completion

chops-search ships dynamic completion: the binary computes candidates when you press Tab, so there's no generated script to go stale. eval --kind <TAB> lists the kinds your query set actually uses, not a list frozen when a script was written.

Turn it on

echo 'COMPLETE=fish chops-search | source' >> ~/.config/fish/config.fish
echo 'source <(COMPLETE=zsh chops-search)' >> ~/.zshrc
echo 'source <(COMPLETE=bash chops-search)' >> ~/.bashrc

Open a new shell and try chops-search eval --kind <TAB>.

Static script fallback

For environments where the dynamic hook doesn't fit (system packages, restricted shells):

chops-search completions fish   # or zsh, bash, and friends

writes a conventional completion script to stdout. Prefer the dynamic path where your shell supports it; the static script's candidates are frozen at generation time.