Commit graph

2 commits

Author SHA1 Message Date
Matthias Reitinger
ec4cc981fc
Add --prune flag
closes #535
2020-10-25 08:16:01 +01:00
Sebastián Mancilla
ef1bfc7508 Add native Zsh completion
Replace the auto-generated Zsh completion with a full completion script.
This script improves completion support for options and arguments,
which is hard to obtain from an auto-generated completion.

- Full completion support for external commands and options when using
  `--exec`/`--exec-batch`.

- The completion for `--type` and `--color` adds descriptions instead of
  just values.

- Complete files when using `--ignore-file`.

- Stop completing files for the pattern argument.

- Improve completion for path arguments. Only directories are
  completed.

- Single-use options are not offered again.

- Updated exclusions lists for mutual-exclusive options.

- Add support for hidden options (as defined in `app.rs`). They are not
  offered for completion, but if present are considered (and their value
  may be completed).

Full support for exclusion lists depends of options groups, which was
added in Zsh 5.4. Older Zsh versions, as commented in the completion
script, will just offer most options.

The format of the completion script was taken from ripgrep completion
script. Command completion for `--exec`/`--exec-batch` was taken from
Zsh's `_find` completion.
2020-10-05 22:39:17 +02:00