mcpField
D
delta

delta

公式
github.com開発ツール32.6kdelta3 週間前に更新
リポジトリ公式サイト

delta について

Delta は Git の diff、blame、grep の出力にカラフルなシンタックスハイライト表示を追加します。Git のページャーとして統合でき、また 2 つのファイルを直接比較することもできます。出力がより読みやすくなり、コード確認と変更内容の確認が高速化します。

主な機能

  1. 01diff、blame、grep 出力のシンタックスハイライト表示
  2. 02diff ハンクをグループ化・折り畳み、長いファイルを折り畳む
  3. 03Git のデフォルトページャーとして統合

活用シーン

  1. 01コードレビュー中に大規模な変更を素早く理解する
  2. 02バージョン管理の複雑な diff 出力を扱う
  3. 03ターミナルでのファイル比較の可読性を向上させる

インストール

OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。

$
brew install git-delta

インストール後にdelta --versionを実行して確認します。

コマンド例

よく使うコマンドを使う順に並べています。

01
git -c core.pager=delta diff
02
delta file-a file-b

詳細

image

CI Coverage Status Gitter

はじめに

インストールしてください(パッケージ名はほとんどのパッケージマネージャーで「git-delta」ですが、実行ファイルは単に delta です)。そのうえで、以下の内容を ~/.gitconfig に追加してください:

[core]
    pager = delta

[interactive]
    diffFilter = delta --color-only

[delta]
    navigate = true  # use n and N to move between diff sections
    dark = true      # or light = true, or omit for auto-detection

[merge]
    conflictStyle = zdiff3

または、次のコマンドを実行してください:

git config --global core.pager delta
git config --global interactive.diffFilter 'delta --color-only'
git config --global delta.navigate true
git config --global delta.dark true  # or `delta.light true`, or omit for auto-detection
git config --global merge.conflictStyle zdiff3

Delta には多くの機能があり、高度にカスタマイズ可能です。詳しくは delta -h(簡易ヘルプ)または delta --help(完全なマニュアル)、あるいはオンラインのユーザーマニュアルをご覧ください。

機能

  • bat と同じシンタックスハイライトテーマを使用した言語のシンタックスハイライト
  • Levenshtein 編集推定アルゴリズムを使用した単語レベルの差分ハイライト
  • 行の折り返しに対応したサイドバイサイド表示
  • 行番号表示
  • 大きな差分内のファイル間、および log -p 表示内の差分間を移動するための n と N のキーバインド(--navigate)
  • 改善されたマージコンフリクトの表示
  • 改善された git blame の表示(シンタックスハイライト。--hyperlinks を指定すると、コミットをホスティングプロバイダーなどへのリンクとして表示します。対応しているホスティングプロバイダーは GitHub、GitLab、SourceHut、Codeberg です)
  • rg、git grep、grep などの grep 出力のシンタックスハイライト
  • Git の --color-moved 機能への対応
  • 差分から直接コードをコピーできます(デフォルトでは -/+ マーカーが削除されます)。
  • diff-highlight および diff-so-fancy のエミュレーションモード
  • コミットハッシュを、ホスティングプロバイダーのページへのターミナルハイパーリンクとして表示できます(--hyperlinks)。 ファイルパスも、OS で開くためのハイパーリンクとして表示できます。
  • コミット、ファイル、ハンク(差分の塊)のヘッダーセクションに注目を集めるための、スタイル設定可能なボックス/行の装飾
  • 20 を超えるスタイル設定可能な要素に対して、Git と同じcolor/スタイル表記によるスタイル文字列(前景色、背景色、フォント属性)をサポート
  • Git の出力に加え、従来の unified diff 出力にも対応
  • ターミナルの背景が明るいか暗いかを自動検出

git、diff、grep の出力をシンタックスハイライトで表示するページャー

コードは日々変化し、私たちは皆、diff を読む時間を多く費やしています。Delta は、それを効率的かつ快適に行えるようにすることを目指しています。diff のレイアウトやスタイルを大幅に変更できる一方で、git/diff のデフォルトの出力にできる限り近い状態を保つこともできます。

image

line-numbers を有効にした delta

image

side-by-side と line-numbers を有効にした delta

git を delta を使うように設定した場合の git show の表示例は次のとおりです。


image image
"Dracula" テーマ "GitHub" テーマ


シンタックスハイライトのテーマ

bat で利用できるシンタックスハイライトのカラーテーマはすべて、delta でも利用できます。


image image
delta --show-syntax-themes --dark delta --show-syntax-themes --light

左右並列表示

[ユーザーマニュアル]

[delta]
    side-by-side = true

デフォルトでは、左右並列表示では行番号が有効になっており、左右のパネルの両方でシンタックスハイライトが適用されます: [設定]

image

左右並列表示では、長い行が自動的に折り返されます:

image
行番号

[ユーザーマニュアル]

[delta]
    line-numbers = true
image
マージコンフリクト

[ユーザーマニュアル]

image
Git blame

[ユーザーマニュアル]

image
### Ripgrep, git grep

[User manual]

image
Installation and usage

Please see the user manual and delta --help.

Live demo by Demoshell

Maintainers

コメント