Seu arquivo _cheat
faz definir uma função chamada _cheat
. Você pode verificar isso exibindo o código da função ( echo $functions[_cheat]
). Quando uma função é autoloaded de um arquivo, o arquivo contém a função código, como se houvesse _cheat () {
antes do conteúdo do arquivo e }
após o conteúdo do arquivo. (Zsh também suporta o carregamento automático "ksh-style" onde o arquivo deve conter uma definição de função mais uma chamada para a própria função.)
A primeira linha mágica #compdef
encontrada em um arquivo em $fpath
quando o sistema de completação é inicializado equivale a chamar compdef _cheat cheat
onde _cheat
é o nome do arquivo (e função autoloaded) e cheat
é o nome do comando para o qual esta função deve ser usada. A associação é registrada no array associativo _comps
( $_comps[cheat]=_cheat
).
O campo completer
na zstyle
string de contexto é o nome da função de conclusão com um sublinhado à esquerda removido.