ZshでCargo, rustupの補完を有効にする
ZshでCargoとrustupの補完を効かせるようにします。
最低限の補完
.zshrcに以下を追加して補完機能を有効にします。
autoload -Uz compinit compinit -u
Zsh補完の仕組み
zshは$fpath, $FPATHという環境変数を持っており、このパスに含まれる補完ファイルを読み込みます。
なので自分は~/.zsh/completionsを作りパスを通してここに補完ファイルをおいています。
パスの通し方は.zprofileに下記のコードを追加するとできます。
fpath=(~/.zsh/completions $fpath)
Cargoの補完
Cargoのzsh補完ファイルは
~/.rustup/toolchains/{toolchain名}/share/zsh/site-functions/_cargo
です。これをコピーするなりシンボリックリンク作るなりでパスの通っているディレクトリに移動しましょう。
rustupの補完
rustupは以下のコマンドを実行することで補完ファイルを作成することができます。(> 以下は自分のディレクトリを設定してください)
rustup completions zsh > ~/.zsh/completions/_rustup
以上でCargoとrustupの補完設定完了です。快適なRust Lifeをお送りください。
tips: shellの再起動コマンド
exec $SHELL -l