zshの補完関数の書き方がマジで意味不明

昨日指導教官の先生に、先輩と一緒にzshをプッシュするということをしていたのだけれど、その中で、gxpcの補完を書こうとして死亡したことを思いだした。gxpcの補完ができたら先生はzshに乗りかえるらしい(言質)

おそらく日本語でまとまった情報は http://www.ayu.ics.keio.ac.jp/~mukai/translate/write_zsh_functions.html くらいだし、メジャーなコマンドの補完関数を読んでみたものの、複雑で何がなんだかわけわかめ。manpage は、、、

よっぼど暇なときじゃないと、じっくり腰を据えて zsh の補完関数を書くというようなことはできないだろうけど、この春休みは全然暇じゃないので書きません。先輩にまかせる!