[小ネタ]ターミナルでRancher Desktop同梱のrdctlコマンドの補完を効かせる

2023.02.03

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

  • t_o_dと申します。
  • Rancher Desktopに同梱されているrdctlコマンドを利用すればCLIでRancherの機能を操作することができます。
  • 今回はターミナルでrdctlコマンドの補完を効かせる方法を記録いたします。

環境

  • mac OS Ventura 13.1
  • Rancher Desktop 1.7.0
  • rdctl 1.1.0

結論

  • 以下の内容を~/.zshrcに記述するだけで、rdctlの補完を効かせることが可能です。
# 補完の有効化
autoload -Uz compinit && compinit

# rdctl補完設定
eval "$(rdctl completion zsh)"; compdef _rdctl rdctl
  • 記述してsource ~/.zshrc等で読み込んだ後、以下のようにタブで補完が表示されることを確認します。

内容

  • 上記ではrdctlのcompletionサブコマンドを利用しています。
  • rdctl completion シェル名とすることで、以下の画像のように指定のシェル用の補完関数を生成して出力してくれるのでzshのCompletionで利用できます。
    • ※現在対応しているシェルは「bash」「fish」「powershell」「zsh」の4つです。

  • その出力で_rdctlという名で補完関数を生成しているのでevalでロードします。
  • 最後にzshのcompdefを利用してrdctlの補完として関連づけるように設定します。
    • ※記述後はsoucre ~/.zshrcで読み込む必要があります。

まとめ

  • 最近のCLIツールはオプションでcompletion機能を有していることが多く、rdctlもしっかり対応していました。

参考

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。