Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/dandavison/delta

A syntax-highlighting pager for git, diff, and grep output
https://github.com/dandavison/delta

color-themes delta diff git git-delta pager rust syntax-highlighter

Last synced: about 1 month ago
JSON representation

A syntax-highlighting pager for git, diff, and grep output

Lists

README

        


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

# delta detects terminal colors automatically; set one of these to disable auto-detection
# dark = true
# light = true

[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
- Automatic detection of light/dark terminal background

## 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`.