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
側のコマンドを優先して使う様になっています。
大分便利になった感。