zsh用script/generate補完関数
zsh用のscript/generateおよびscript/destroyの補完関数です。
以下のスクリプトを.zshrcなどに書いておけば、./script/generateに続けてTABキーを押す事で
generatorの入力を補完できます。
~/.zshrc
shell>>
_generate () {
if [ ! -f .generators ]; then
./script/generate --help | grep '^ [^ ]: ' | sed 's/[^:]:/compadd/' | sed 's/,//g' > .generators
fi
cat .generators
}
compdef _generate generate
compdef _generate destroy
<<--
RubyGems、Plugin、BuildInの3種類のgeneratorを検出して補完します。
検出動作が重いので、カレントディレクトリにキャッシュファイルを作成して
2度目以降の補完を高速化しています。
generatorを追加した場合など、キャッシュを無効化したい場合は
shell>>
$ rm .generators
<<--
でキャッシュファイルを削除してください。
補完が重くても余計なファイルが生成されるよりはマシ、
という場合はこちらをどうぞ。
shell>>
_generate () {
./script/generate --help | grep '^ [^ ]*: ' | sed 's/[^:]*:/compadd/' | sed 's/\,//g'
}
compdef _generate generate
compdef _generate destroy
<<--
誰かが作らないかなあ、と思って待っていたのですが、
なかなか出て来ないので自分で作りました。
もっと良いものがあったら教えていただけると嬉しいです。