zsh-completions/zsh-completions-howto.org

1.5 KiB

Intro

The official documentation for writing zsh completion functions is difficult to understand, and doesn't give many examples. At the time of writing this document I was able to find two other tutorials on the web, however both of those tutorials only explain a small portion of the capabilities of the completion system. This document aims to give more complete and easy to understand explanation for creating zsh completion functions. I do not go into all the details, which can be looked up in the official documentation.

Hopefully, after reading this, you will be able to get up and running with your own completion scripts pretty quickly. Please make any scripts that you create publically available for others (e.g. by forking this repository and making a pull request).

Defining completion functions

Completion functions for a given command

Utility functions with example code

compadd

_gnu_generic

_arguments

_regex_arguments

_regex_words

_values

_comma_separated

gotchas

Putting it all together

Other resources

Here is a nicely formatted short tutorial showing basic usage of the _arguments function, and here is a slightly more advanced tutorial using the _arguments function. Here is the zshcompsys man page.