イケメンdiff viewerのDeltaを入れてみた
はじめに
差分というものは見やすいほうがよいですよね
git-delta
は差分のレイアウト、配色をいい感じに設定してくれるツールです
個人的にアツい言語、Rustで書かれています
そんな git-delta
を導入してみた記事です
本記事の環境
OS:macOS
git version 2.31.1
delta version 0.7.1
構成
install
dandavison/delta: A viewer for git and diff output
筆者の環境はmacなのでHomebrewを用います
$ brew install git-delta
設定
git の pagerに delta
を指定すると git コマンドのdiff表示が装飾されます
~/.gitconfig
or ~/.config/git/config
に公式の例を追記してみる
[pager]
diff = delta
log = delta
reflog = delta
show = delta
[delta]
plus-style = "syntax #012800"
minus-style = "syntax #340001"
syntax-theme = Monokai Extended
navigate = true
[interactive]
diffFilter = delta --color-only
適当に git show してみる
なんということでしょう
git コマンドについて
diff view を表示するコマンドについては deltaのUIが反映されます
対話オプションの場合も同様です (git add -p
等)
先程の設定の以下の記述は、対話オプションでdeltaを有効にするものです
[interactive]
diffFilter = delta --color-only
git コマンドで deltaのオプションを指定するには -c
オプションを用いるといいです
git -c delta.side-by-side=true show
設定可能なFlagを見てみる
表示方法の変更、設定の確認とか
行番号を表示
[delta]
line-numbers = true
delta -n hoge.txt foo.txt
line-numbers off
line-numbers on
横に並べて表示
個人的にこっちのが 100倍見やすい
[delta]
side-by-side = true
delta -s hoge.txt foo.txt
side-by-side on
追加/削除された行に +/-マークをつける
delta --keep-plus-minus-markers
n/Nで前方/後方ジャンプできようにする
delta --navigate hoge.txt foo.txt
現在設定されているconfig一覧を見る
delta --show-config
サポートされてる言語一覧を表示
delta --list-languages
カラーテーマ名一覧を表示
delta --list-syntax-themes
カラーテーマ一覧をデモ付きで表示
delta --show-syntax-themes
見た目のカスタマイズ
シンタックステーマの設定
syntax-themeでテーマ名指定なので簡単
言語サポートも多め
サポートされてるテーマは前述した delta --list-syntax-themes
で確認
[delta]
syntax-theme = Monokai Extended
名前付きグループ
feature 句をgit configで設定することで、名前付きグループを使用することができる
以下の例だと、delta "my-delta-config"
に指定した設定が有効になる
[delta]
features = my-delta-config
[delta "my-delta-config"]
side-by-side = true
syntax-theme = Dracula
公式が用意しているカスタムカラーテーマを使用する
deltaでは、syntax-highlightの他に 追加行のハイライトカラー
やファイル名の表示方法
などもカスタマイズできる
公式が 用意してるテーマもあって、 先程の featuresで 読み込ませて使うことが可能
-
↑のファイルを適当な場所にダウンロードする
-
include
でダウンロードしたファイルを読み込む
[include]
path = {ダウンロードしたPATH}/themes.gitconfig
- featuresで任意のテーマを読み込む
[delta]
features = collared-trogon
woolly-mammoth
:elephant: がいい感じでした(色きついけど笑)
所感
- Rust はすごい
-
正直diffコマンドで差分みることないのでこれを機にdiff操作マスターしたい - tig でサポートされたらすごい嬉しいんですが、 ISSUEはたってるものの中々進捗がないようです
Discussion