homebrew-file
をインストールして使う際に、
brew file initの様にfileと1つ入れなくてはいけないのが面倒で、
特にbrewのコマンドと被ってない物は直接使えたら便利だな、
ということで、
homebrew-file
に付いてるwrapper関数(etc/brew-wrap)
をアップデートしました。
‘init’等をbrewコマンドから直接使う
homebrew-fileにはetc/brew-wrapという設定ファイルが入っていて、
これを読み込むとbrewコマンドをラップする関数が設定されます。
1 2 3 | |
こんな感じにするとBash起動時に読み込ことが出来ます。
以前までは、これをするとbrew installやbrew uninstallコマンドを打った時、
通常のinstallやuninstallを行った後に
Brewfileを自動でアップデートする事が出来る様になっていました。
今回新しく入れた機能は、
brew file init等、元々brewコマンドに無いコマンドに関しては
fileを抜かしてもbrew-fileを読んで実行できる様にする機能です。
$ brew init
とするだけでbrew file initと同じ様にBrewfileを初期化してくれます。
他にも
$ brew casklist
でアプリのリストを作ったり。
brewで使えるコマンドはcommandsというコマンドで確認出来ます。
$ brew commands
Built-in commands
--cache doctor missing test-bot
--cellar edit options test
--env fetch outdated tests
--prefix gist-logs pin uninstall
--repository help postinstall unlink
aspell-dictionaries home prune unlinkapps
audit info pull unpack
bottle install readall unpin
cat irb reinstall untap
cleanup leaves search update
commands link sh upgrade
config linkapps style uses
create list switch
deps log tap-readme
diy man tap
External commands
cask file brewdle brewdler bundle bundler
$
一方、brew-fileで使うコマンドも確認出来るようにcommandsというコマンドを新たに加えました。
$ brew file commands
install brew -i --init init -s --set_repo set_repo pull push -c --clean clean -u --update update -e --edit casklist cask_upgrade --test --commands -v --version version -h --help help -f --file -F --format -r --repo -n --nolink -C -V --verbose
$
コマンドと言うとちょっと意味合いが違いますが、ここでは単に
brew及びbrew file以降に与えられる引数の事を指しています。
brew-fileの方がちょっと見にくいですが、比べると、
例えばinstallやeditに関しては両方にあります。
この様なコマンドに関してはbrew editとすると本来のbrewのeditコマンドが
起動するようになっています。
ただ、editに関しても、brew file editとしなくてもbrew -eやbrew --editで
直接Brewfileが開ける様になります。
ラッパー関数の中で毎回brewのコマンドを調べているので、
もしbrew側でアップデートがあったり、外部コマンドを加えたりして
brew-fileのコマンドと被る物が出たらbrew側のコマンドを優先して使う様になっています。
大分便利になった感。
