基本的にはDebian lennyのzsh 4.3.6-7の/usr/share/zsh/functions/Completionを参考にしました。 #compdef cheat _cheat () { _arguments \ ... } _cheat_sheets() { if ( [[ ${+_cheat_sheets} -eq 0 ]] || _cache_invalid CHEAT_sheets ) && ! _retrieve_cache CHEAT_sheets; then _cheat_sheets=(補完候補) _store_cache CHEAT_sheets _cheat_sheets fi local expl _wanted cheat_sheets expl 'Cheat Sheets' compadd -a _cheat_sheets } _cheat "$@