scala用のgitattributesを定義してdiffを見やすくする

ちょっと前に話題になってましたね、gitattributes。

調べてみましたが案の定scalaは非対応だったので、自分で定義してみます。

before

普通にdiffを出すとこんな感じ。

f:id:akiomik:20131220003306p:plain

hunk headerにはクラス名が出てしまい、なんのメソッドへの修正かわかりません。

after

以下のような感じで、 ファイルをそれぞれ~/.gitattributes~/.gitconfigとして保存します。

gitattributes for scala

すると、あら不思議!

f:id:akiomik:20131220003323p:plain

hunk headerにちゃんとメソッド名が出ています!ヤッター!

注意点

見ての通り適当な正規表現なので、修正行の直前に深いネストの関数などが定義されてたり、コメントの中に予約語が入ってたりすると、そっちのメソッド名が出てしまいます。

まあその辺はビルトインの他言語用gitattributesも同じくゆるふわな感じなのでご了承ください。

感想とか

本当に見やすくなったんだろうか…?