Git リポジトリのトップからの相対パスをプロンプトに表示する

今、どこにいるか知りたいので、zsh のプロンプトにワーキングディレクトリを表示している。

しかし、リポジトリの中ではそのリポジトリがどこにあるかということはあまり重要ではなくて、リポジトリの中のどのディレクトリにいるか、ということのほうが重要だと感じた。

また、ワーキングディレクトリを絶対パスで表示していると、「リポジトリの中のどこにいるか」ということが埋もれてしまう危険があるとも感じたので、標題のとおりリポジトリのトップからの相対パスを表示するようにした。

リポジトリの中にいるかどうかで前景色も変えている (マゼンタ→黄色)。

リポジトリの中 (リポジトリのトップ)

f:id:aereal:20130827224409p:plain

リポジトリの中2 (サブディレクトリ)

f:id:aereal:20130827224412p:plain