Slatewave (delta)

May 4, 2026 · View on GitHub

Slatewave

Slatewave (delta)

A Slatewave palette for delta — the syntax-highlighting pager for git diffs. Part of the Slatewave family — one palette across editors, terminals, prompts, notes, and more.

Slate below, teal above.

Slatewave preview


What it styles

delta exposes a flat, generous set of style keys — minus / plus, emph / non-emph, hunk / file / commit headers, line numbers, blame, merge conflicts, grep output. Slatewave maps each onto the family palette so the diff reads spatially, not just chromatically:

  • Minus / plus — desaturated rose and teal tints behind a syntax foreground, so syntax highlighting stays legible against the role color
  • Emph styles — saturated rose / teal for the bytes that actually changed inside a line, so delta's word-level diff signal is unmistakable
  • Hunk header — teal-300 label inside a slate-600 box; @@ -12,7 +12,9 @@ math rendered in amber so the line-number jump pops
  • File header — slate-200 bold with a teal underline rule
  • Line numbers — slate gutter, rose for minus, teal for plus, slate-500 for zero
  • Blame palette — a four-step slate gradient so authorship reads as depth
  • Merge conflicts — rose for "ours", teal for "theirs"
  • Grep output — teal for filenames, amber for line numbers, rose-reverse on the matched word

Pairs with bat-slatewave, which registers the Slatewave syntax theme that delta reads via syntax-theme.


Requirements

  • delta ≥ 0.16 — install guide
  • bat-slatewave (recommended) — registers the Slatewave syntax theme via bat cache --build. Without it, swap syntax-theme = Slatewave for a bat default like base16-256, or remove the line entirely.

Installation

delta is configured entirely through ~/.gitconfig. There are two clean paths.

Clone + include

git clone https://github.com/kevinlangleyjr/delta-slatewave.git \
  ~/.config/delta-slatewave
git config --global include.path \
  ~/.config/delta-slatewave/slatewave.gitconfig

include.path layers the file into your global git config, so updates land with git -C ~/.config/delta-slatewave pull.

Or: paste the block straight in

Copy the contents of slatewave.gitconfig into your ~/.gitconfig and you're done. This is the path to take if you want to tweak individual keys in place.

Verify

git -C any-repo log -p | head -60

You should see slate-tinted minus/plus blocks, a teal hunk header sat in a slate box, and amber line-number math.


Palette

Slatewave shares its palette with the companion themes. Every color resolves to a semantic role.

Foundation — slate

HexTailwindWhere
#1e293b#1e293bslate-800blame stop 0
#282c34#282c34slate-editorblame stop 1
#334155#334155slate-700blame stop 2
#475569#475569slate-600blame stop 3, header rule, line gutter
#64748b#64748bslate-500zero-line numbers
#94a3b8#94a3b8slate-400hunk-header file path
#cbd5e1#cbd5e1slate-300commit body
#e2e8f0#e2e8f0slate-200file header

Diff roles

HexTailwindWhere
#5eead4#5eead4teal-300hunk header, plus line numbers, file underline
#0e3a35#0e3a35teal-deepplus background
#1d6457#1d6457teal-emphplus-emph background (changed bytes)
#fb7185#fb7185rose-400minus line numbers, ours-conflict, whitespace error
#3b0e1a#3b0e1arose-deepminus background
#7a1a2a#7a1a2arose-emphminus-emph background (changed bytes)
#fbbf24#fbbf24amber-400hunk-header line numbers, grep line numbers

Style key map

KeyColorNotes
minus-stylesyntax on #3b0e1afull minus line
minus-emph-stylesyntax bold on #7a1a2abytes that changed
minus-non-emph-stylesyntax on #2a0a13bytes that did not change
plus-stylesyntax on #0e3a35full plus line
plus-emph-stylesyntax bold on #1d6457bytes that changed
plus-non-emph-stylesyntax on #0a2a26bytes that did not change
zero-stylesyntaxunchanged context
hunk-header-style#5eead4 boldthe @@ ... @@ label
hunk-header-decoration-style#475569 boxslate box around it
hunk-header-file-style#94a3b8filename next to the label
hunk-header-line-number-style#fbbf24 boldthe -12,7 +12,9 numbers
file-style#e2e8f0 boldfile path
file-decoration-style#5eead4 ulteal underline rule
commit-style#cbd5e1 boldcommit hash + author body
commit-decoration-style#475569 boxslate box
line-numbers-left-style#475569gutter, minus column
line-numbers-right-style#475569gutter, plus column
line-numbers-minus-style#fb7185line numbers on a minus line
line-numbers-plus-style#5eead4line numbers on a plus line
line-numbers-zero-style#64748bline numbers on context
whitespace-error-style#fb7185 reversetrailing whitespace, mixed indent
blame-paletteslate gradient#1e293b#475569
merge-conflict-ours-diff-header-style#fb7185 bold"ours" header
merge-conflict-theirs-diff-header-style#5eead4 bold"theirs" header
grep-file-style#5eead4filename in git grep
grep-line-number-style#fbbf24line number in git grep
grep-match-word-style#fb7185 reversethe matched substring

Customize

Override in place. Every delta.* key is independent — drop a single line in your own ~/.gitconfig after the include and it wins.

# Bump the plus tint to a brighter teal
[delta]
    plus-style      = syntax "#114a44"
    plus-emph-style = syntax bold "#1f7867"

# Or go side-by-side
[delta]
    side-by-side = true

Pair with bat-slatewave

syntax-theme = Slatewave resolves through bat's theme cache. Install bat-slatewave and run bat cache --build to register it; without that step, set syntax-theme to a built-in like base16-256 or Coldark-Dark.

Pair with line numbers off

If you prefer a tighter view, drop line-numbers = true. The hunk header alone still gives you the -12,7 +12,9 math, so you don't lose orientation.


Slatewave family

One palette. Every tool.

See getslatewave.com for the full family.


Contributing

Issues and PRs welcome. For palette tweaks, please include a before/after git log -p screenshot against a representative diff (a refactor with mixed adds/removes/renames works well) so the visual tradeoff is obvious.


License

WTFPL — Do What The Fuck You Want To Public License. See LICENSE.