zsh のプロンプトに、各種 VCS のブランチ名表示と、git の変更を表示
zsh の prompt に、svn やら git やらのブランチ名を表示し、git のときだけ変更点を(詳し目に)表示する zshrc の設定を、いろんなものを参考に書きました。
コードは最後の方にあります。
こんなかんじになる
- ブランチ名を右側に表示
- git add した直後
- 変更があるとき
- untracked なファイルがあるとき
- 組み合わさっているとき
ファイルの削除・リネーム、unmerged なファイルの場合の表示もある。割愛。
参考にさせてもらったところ
基本的には id:mollifier さんの、zsh で Git の作業コピーに変更があるかどうかをプロンプトに表示する方法 - mollifier delta blogを参考に、zsh の vcs_info を使っています。上の例がゴテゴテしていると感じる方は、リンク先のほうがスッキリしていてよいでしょう。
調べているうちに oh-my-zsh で git の細かい変更点を表示している例があったものの、それだけのために oh-my-zsh を導入するのは大きすぎると感じたので、うらやましくなって git の変更点表示部分を参考にして、そこだけ書きました。
コード
こんなかんじ。git コマンドを実際に投げてるので重いと感じることもあるかも。自分の macbook ではそんなに感じませんでした。色などお好みで変更するとよいでしょう(といいつつそこまで変更しやすくできてない)。
https://github.com/kei-s/dotfiles/blob/master/.zshrc にわたしの使ってる .zshrc があるのでそちらも参考にどうぞ。rvm のバージョンを表示をしたりもしてます。