メモ。
Salesforce DX の CLI はコマンドが長いのでシェルで補完してくれる関数ないかなーと思っていたら公式ではないけどあった。
Salesforce DX aliases and shell completions for working with sfdx in zsh and vim · GitHub
これの sfdx_completion.zsh というファイルがそう。
(2018/9/13追記)
中の人が公開しているものもあった。
オプションの補完など、こちらの方が優秀そう。
インストール方法は README の通り。
(追記ここまで)
インストール手順
普通の zsh 補完関数と同じように設定すれば OK だが、やり方を知らなかったので備忘録として。
ここを読むといい。
https://github.com/zsh-users/zsh-completions/blob/master/zsh-completions-howto.org
まず、補完関数を格納するディレクトリを作成し、 fpath
という変数に追加する。( .zshrc
に記載する)
$ mkdir -p ~/.zsh/completion
# ~/.zshrc fpath=(~/.zsh/completion $fpath)
続いて、補完関数を用意する。
補間関数ファイルは、
- 1 行目に補完対象となるコマンドを
#compdef sfdx
という形式で記載する - ファイル名は
_sfdx
のように、_[補完対象のコマンド]
にする
というルールがあるらしいが、今回は gist の sfdx_completion.zsh の内容をコピーし、_sfdx
というファイル名でディレクトリに格納すればいい。
保存したら
$ source ~/.zshrc
で補完が効くようになる。
結果
まだ本格的に試してないけどよさげ。
懸念
Salesforce が公式で提供しているものでもないし(Author も中の人ではなさそう)、どうやってこの補間関数を生成したのかわからないので
今後の CLI のバージョンアップに追従してくれるかどうかは謎。