hoytech / vmtouch

Portable file system cache diagnostics and control
https://hoytech.com/vmtouch/
BSD 3-Clause "New" or "Revised" License
1.79k stars 210 forks source link

Add a completion function for zsh #95

Open okapia opened 2 years ago

okapia commented 2 years ago

This adds a file containing an autoloadable completion function for use with zsh so that zsh users can get hints on vmtouch usage with their tab key.

In the process, I noticed that because the -l option implies -t and sets o_touch, you get an error message for the -t/-e combination when combining -l with -e. The -l/-e check was thus dead code. By rearranging it to check -t/-e after -l/-e, error messages are better. I also added a similar line for -L/-e. There could be ways to refactor it so that instead of the error message being repeated you can use %c for each option letter.

For the option descriptions in the usage() function, you've used imperative mood form for all but one option. The exception is -i which starts with the word "ignores". I have changed it for consistency, both in usage() and when copying it for the zsh completion.

I've also added to the Makefile to install the completion.