これは何?
Windows Azure Command-Line Tools for Mac and Linux (Linux)を普段使用しているんですが、入力補完が効かないのでイライラしてました。
で、対するAWSさんはというと入力補完できるじゃないですか!(via AWS Command Line Tool Python版 | Developers.IO)
ということで、Azure 版作ってみました。azure-cli があるなら node.js がはいっているでしょということで、node.js です。
初めて npm に登録したのでうまく出来ているか若干不安。インストールがうまくいったとか出来なかったという人は @nnasaki までご連絡いただければ幸いです。
また、今のところ bash 限定で zsh は対応中です。(依存しているライブラリが対応していないかもしれないので、ちょっと手こずるかも…)
え? Windows 版? PowerShell があるでしょ!
サンプル
以下のような感じで通常の補完のように[tab]キーでどんどんコマンドの補完が出てきます。
$ azure[tab]
account help portal service sql
config mobile sb site vm
$ azure m[tab]
$ azure mobile[tab]
onfig data job list log scale show
create delete key locations restart script table
インストール方法
README (GitHub) に記載してありますが、慣れない英語なので日本語で注意点も含めて記載しておきます。
npmでパッケージをインストールします。
npm install azure-completion -g
以下コマンドを順番に実行する必要があります。
comp-azure --install >> ~/.bash_profile
comp-azure
sed -i -e 's/(azure/(comp-azure/' ~/.node-completion/azure
source ~/.node-completion/azure
もしエラーになった場合は、~/.node-completion/azure
が存在するか確認してください。comp-azure を一度実行しないとどうやら作成されないようです。
後、再現性が無かったんですが一度だけ~/.node-completion/azure-e
が作成されてしまったことがあります。もしなってしまった場合は~/.node-completion/azure
にリネームして sed
以降をやり直してみてください。
今後について
いろいろと充実させていきたいです。要望等あればお気軽に @nnasaki にメンションか Github の Issues までご連絡ください!
- zsh の対応
- コマンド補完が無くなると "-h" が出続けてカッコ悪いの直す
- コマンド補完リスト作成のタンポポワークを自動化する
azure vm --json | egrep '^\s+vm' | awk -F" " '{print $2": {}, "}' | uniq
とかやって、コピペで作ってるので効率が悪いんですよ…
- テスト追加