Subscribed unsubscribe Subscribe Subscribe

rbenvのサブコマンドを補完したい

ruby zsh

はい、あります → rbenv/completions at master · sstephenson/rbenv · GitHub
zsh用はv0.1.2から追加されています。
homebrewでrbenvをインストールした場合、/usr/local/Cellar/rbenv/0.1.2/completions/ あたりにあるかと思います。

使い方

環境変数${fpath} に入っているディレクトリに、上記補完設定ファイルを置いてやります。
たとえばこんな感じ。

% ln -s /usr/local/Cellar/rbenv/0.1.2/completions/rbenv.zsh .zsh/functions/_rbenv

すると、こうなります

% rbenv [TAB]
commands  exec  help  init  prefix  rehash  set-default  set-local  version  version-name  version-origin  versions  whence  which

サブコマンドが出てくれるだけでもとても助かりますね。

ちなみに

homebrewの補完設定ファイルは /usr/local/Library/Contributions/brew_zsh_completion.zsh にあったりします。
homebrewでgitをいれると、補完シェルが /usr/local/etc/bash_completion.d に入ったりしてます。
願わくば、rbenvの補完設定ファイルもバージョン番号と切り離されたところに入ってほしいですね。