Antigenというzshのプラグインマネージャーがある。これはzshのプラグインを管理してくれるツールで、zshプラグインのインストール、更新が簡単になる。RubyのbundlerとかVimのNeoBundleにあたるやつ。
それで、ドキュメントとかブログの記事とかを見てると、次のようにantigen use oh-my-zsh
を呼び出せって書いてある。
antigen use oh-my-zsh
適当にコピペしてこれを書いてる人もいると思うけど、このantigen use
が何をやっているのかを解説する。
ソースコードを追いかけてみると、これは結局、次のコードと同じになる。
antigen bundle https://github.com/robbyrussell/oh-my-zsh.git lib
つまり、GitHubにあるoh-my-zshのlibディレクトリ以下を取得して、その下にあるファイルをぜんぶ読み込む(sourceする)、ということをやってる。
なんでこんなことをやってるかというと、oh-my-zshのpluginsやthemesの中にはこのlib以下にあるスクリプトに依存しているやつがあるから。そういうのは単独では動作しないので、こうやってlib以下を読み込む必要がある。なのでoh-my-zshのpluginsやthemesを使ってない人には必要ない。
まあ、oh-my-zshのpluginsやthemesもlibに依存していないやつもあるし、依存していたとしてもlib以下全部が必要ではないので、こんなふうにまとめて読み込むっていうのはあんまりきれいなやり方ではないと思う。
だいたい、lib/aliases.zshを見てみるとalias ll='ls -lh'
とやってたりとか、とてもライブラリとは言えない感じなので、これをlibっていうディレクトリに全部入れてるのはどうなのっていう疑問はある。
まあ、そのへんはoh-my-zsh本体のお話なので、ここでは深入りしない。
推奨されない書き方
だいぶ前からAntigenを使ってる人はこんな書き方してるかもしれない。
# 悪い例
antigen-lib
これは古い書き方で、antigen use oh-my-zsh
と同じ処理が行われるけど、こんなふうに警告メッセージが表示される。
`antigen-lib` is deprecated and will soon be removed.
Use `antigen-use oh-my-zsh` instead.
「antigen-lib
は古い書き方でそのうちなくなるので、antigen use oh-my-zsh
と書け」ということらしい。古い書き方をしてる人は直しておこう。