世界のやまさ

SEKAI NO YAMASA

azure-completion を npm で公開しました #jazug #azurejp

これは何?

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 とかやって、コピペで作ってるので効率が悪いんですよ…
  • テスト追加