How does tab completion work, and can we support it? RipGrep uses clap to automatically generate tab completion files for some shells:
// Use clap to build completion files.
let mut app = app::app();
app.gen_completions("rg", Shell::Bash, &outdir);
app.gen_completions("rg", Shell::Fish, &outdir);
app.gen_completions("rg", Shell::PowerShell, &outdir);
// Note that we do not use clap's support for zsh. Instead, zsh completions
// are manually maintained in `complete/_rg`.
How does tab completion work, and can we support it? RipGrep uses clap to automatically generate tab completion files for some shells:
Zsh-specific