deltaでgit diffをパワーアップする

deltaというrustで書かれた差分表示ツールがある。これをgitと連携するとgit diffの表示がパワーアップする。

f:id:paulownia:20210219005649p:plain

difftoolで外部ツールと連携すれば同じような結果は得られる。しかし外部ツールが起動するので気軽にdiffを見るには少々重く、外部ツールがvimdiffの場合一度に1ファイルのdiffしか表示できないので地味に使いにくい。deltaならばgit diffと全く同様の使い勝手で軽いというのが推しポイント。

設定方法

deltaはmacならbrewでインストールできる。

brew install git-delta

インストールしただけではgitの出力は変わらないので、~/.gitconfig に以下の記述を追加する

[core]
    pager = delta

[interactive]
    diffFilter = delta --color-only

[delta]
    features = side-by-side line-numbers decorations
    whitespace-error-style = 22 reverse

[delta "decorations"]
    commit-decoration-style = bold yellow box ul
    file-style = bold yellow ul
    file-decoration-style = none

この設定を加えるとgit logが先程の画像のようにサイドバイサイドの差分表示となる。pager丸ごと置き換えているのでdiff以外のサブコマンドにも影響する。git logの表示も少しパワーアップする。