image

CI Coverage Status Gitter

## Get Started [Install it](https://dandavison.github.io/delta/installation.html) (the package is called "git-delta" in most package managers, but the executable is just `delta`) and add this to your `~/.gitconfig`: ```gitconfig [core] pager = delta [interactive] diffFilter = delta --color-only [delta] navigate = true # use n and N to move between diff sections light = false # set to true if you're in a terminal w/ a light background color (e.g. the default macOS terminal) [merge] conflictstyle = diff3 [diff] colorMoved = default ``` Delta has many features and is very customizable; please see the [user manual](https://dandavison.github.io/delta/). ## Features - Language syntax highlighting with the same syntax-highlighting themes as [bat](https://github.com/sharkdp/bat#readme) - Word-level diff highlighting using a Levenshtein edit inference algorithm - Side-by-side view with line-wrapping - Line numbering - `n` and `N` keybindings to move between files in large diffs, and between diffs in `log -p` views (`--navigate`) - Improved merge conflict display - Improved `git blame` display (syntax highlighting; `--hyperlinks` formats commits as links to hosting provider etc. Supported hosting providers are: GitHub, GitLab, SourceHut, Codeberg) - Syntax-highlights grep output from `rg`, `git grep`, `grep`, etc - Support for Git's `--color-moved` feature. - Code can be copied directly from the diff (`-/+` markers are removed by default). - `diff-highlight` and `diff-so-fancy` emulation modes - Commit hashes can be formatted as terminal [hyperlinks](https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda) to the hosting provider page (`--hyperlinks`). File paths can also be formatted as hyperlinks for opening in your OS. - Stylable box/line decorations to draw attention to commit, file and hunk header sections. - Style strings (foreground color, background color, font attributes) are supported for >20 stylable elements, using the same color/style language as git - Handles traditional unified diff output in addition to git output ## A syntax-highlighting pager for git, diff, and grep output Code evolves, and we all spend time studying diffs. Delta aims to make this both efficient and enjoyable: it allows you to make extensive changes to the layout and styling of diffs, as well as allowing you to stay arbitrarily close to the default git/diff output.
image
delta with line-numbers activated
image
delta with side-by-side and line-numbers activated
Here's what `git show` can look like with git configured to use delta:
image image
"Dracula" theme "GitHub" theme


### Syntax-highlighting themes **All the syntax-highlighting color themes that are available with [bat](https://github.com/sharkdp/bat/) are available with delta:**
image image
delta --show-syntax-themes --dark delta --show-syntax-themes --light

### Side-by-side view [[User manual](https://dandavison.github.io/delta/side-by-side-view.html)] ```gitconfig [delta] side-by-side = true ``` By default, side-by-side view has line-numbers activated, and has syntax highlighting in both the left and right panels: [[config](#side-by-side-view-1)]
image
Side-by-side view wraps long lines automatically:
image
### Line numbers [[User manual](https://dandavison.github.io/delta/line-numbers.html)] ```gitconfig [delta] line-numbers = true ```
image
### Merge conflicts [[User manual](https://dandavison.github.io/delta/merge-conflicts.html)]
image
### Git blame [[User manual](https://dandavison.github.io/delta/git-blame.html)]
image
### Ripgrep, git grep [[User manual](https://dandavison.github.io/delta/grep.html)]
image
### Installation and usage Please see the [user manual](https://dandavison.github.io/delta/) and `delta --help`.