A syntax-highlighting pager for git, diff, grep, and blame output
MIT License
Bot releases are visible (Hide)
This patch release fixes various panics reported by users that were due to v0.1.13 of the unicode-width
crate. See https://github.com/dandavison/delta/pull/1858 and https://github.com/unicode-rs/unicode-width/issues/66.
Catppuccin Latte
name in LIGHT_SYNTAX_THEMES
list by @injust in https://github.com/dandavison/delta/pull/1823
--dark
to override dark/light detected from syntax theme by @bash in https://github.com/dandavison/delta/pull/1843
Full Changelog: https://github.com/dandavison/delta/compare/0.18.1...0.18.2
Published by github-actions[bot] about 2 months ago
This patch release fixes an issue with delta --version
that was causing problems downstream (https://github.com/dandavison/delta/issues/1818).
platypus
theme by @sarpuser in https://github.com/dandavison/delta/pull/1819
Full Changelog: https://github.com/dandavison/delta/compare/0.18.0...0.18.1
Published by github-actions[bot] 2 months ago
As usual, tons of excellent contributions, all but one not by me! @th1000s has made a huge number of important and difficult improvements to delta and helped with many issues over the few years since the project started, and so I'm happy to say that he's co-maintaining the project with me nowadays. Thanks to all contributors for the improvements below!
nosort
in bash <4.4 by @martinml in https://github.com/dandavison/delta/pull/1683
terminal-colorsaurus
by @bash in https://github.com/dandavison/delta/pull/1699
catppuccin-latte
casing in LIGHT_SYNTAX_THEMES
list by @injust in https://github.com/dandavison/delta/pull/1745
--file-*-label
option to --navigate
docs by @injust in https://github.com/dandavison/delta/pull/1744
Full Changelog: https://github.com/dandavison/delta/compare/0.17.0...0.18.0
Published by github-actions[bot] 7 months ago
Thanks to the many contributors! Particular highlights are
Thanks to @bash's work, delta now automatically detects whether your terminal has a light/dark background (unless you specify with --light
or --dark
):
@joshtriplett solved the long-standing problem of correctly parsing traditional grep output, e.g. git grep
, grep
, etc. Until now there had been annoying parse ambiguities related to separator characters in file paths. This is particularly valuable for git grep
since it has interesting features such as git grep -W
(see https://github.com/dandavison/delta/issues/769)
@imbrish fixed two important bugs and added the ability to set a default language (e.g. for executable shell scripts with no file name suffix)
atty
crate with std::io::IsTerminal
trait by @nickelc in https://github.com/dandavison/delta/pull/1465
more
or most
by @ippsav in https://github.com/dandavison/delta/pull/1494
ubuntu-latest
by @sitiom in https://github.com/dandavison/delta/pull/1512
corvus
theme by @evilwaveforms in https://github.com/dandavison/delta/pull/1652
Full Changelog: https://github.com/dandavison/delta/compare/0.16.5...0.17.0
Published by github-actions[bot] over 1 year ago
This is a follow-up release providing the various binaries that were not released with 0.16.4. It also makes some adjustments to delta's (rip)grep support.
Full Changelog: https://github.com/dandavison/delta/compare/0.16.4...0.16.5
Published by github-actions[bot] over 1 year ago
It's 6 months since the last release so this one brings quite a few changes. Thanks very much to all contributors, especially @nickelc for a huge number of contributions, and @wescande for his work on improving whitespace highlighting. With this release delta can now display grep output in (hopefully) exactly the same layout that ripgrep does, but adding syntax highlighting, hyperlinks, and navigation. Use ripgrep --json ... | delta
for that, or set grep-output-type = ripgrep
to get that output style from git grep
etc.
This release does not contain binaries for x86_64-unknown-linux-musl
, i686-unknown-linux-gnu
, arm-unknown-linux-gnueabihf
, or aarch64-unknown-linux-gnu
because the cross-compilation GitHub Actions jobs were broken at the time of release. I'll issue a follow-up release including them when that's fixed.
--show-colors
by @nickelc in https://github.com/dandavison/delta/pull/1315
--show-themes
command by @nickelc in https://github.com/dandavison/delta/pull/1320
git2
to 0.16.1 by @nickelc in https://github.com/dandavison/delta/pull/1323
gruvmax-fang
theme by @MaxFangX in https://github.com/dandavison/delta/pull/1291
clap
to 4.1 by @nickelc in https://github.com/dandavison/delta/pull/1322
git2
types by @nickelc in https://github.com/dandavison/delta/pull/1326
dirs
crate by @nickelc in https://github.com/dandavison/delta/pull/1325
GitRemoteRepo
type directly by @nickelc in https://github.com/dandavison/delta/pull/1328
GitConfig
as reference by @nickelc in https://github.com/dandavison/delta/pull/1336
git_config_entry
module to remote
by @nickelc in https://github.com/dandavison/delta/pull/1337
#[derive(Default)]
/#[default]
by @nickelc in https://github.com/dandavison/delta/pull/1341
GitConfig
constructors for a config file by @nickelc in https://github.com/dandavison/delta/pull/1342
tmux
by @isak102 in https://github.com/dandavison/delta/pull/1402
bitflags
to 2.2 by @nickelc in https://github.com/dandavison/delta/pull/1361
extern crate
statements by @nickelc in https://github.com/dandavison/delta/pull/1345
bytelines
crate by @nickelc in https://github.com/dandavison/delta/pull/1378
error_chain
crate with anyhow
by @nickelc in https://github.com/dandavison/delta/pull/1405
delta
on Windows by @mataha in https://github.com/dandavison/delta/pull/1428
grep-output-type
option: ripgrep or classic by @dandavison in https://github.com/dandavison/delta/pull/1410
Full Changelog: https://github.com/dandavison/delta/compare/0.15.1...0.16.4
Published by dandavison almost 2 years ago
Full Changelog: https://github.com/dandavison/delta/compare/0.15.0...0.15.1
Published by dandavison almost 2 years ago
Thanks to all contributors for the changes in this release! One particularly exciting contribution is the tweaks to the highlighting algorithm made by @phillipwood in #1244. This is something that has remained more or less the same since delta was first created, but #1244 brings several improvements in the details of exactly which characters are highlighted.
Full Changelog: https://github.com/dandavison/delta/compare/0.14.0...0.15.0
Published by github-actions[bot] about 2 years ago
git show
handler if a file extension was parsed by @dandavison in https://github.com/dandavison/delta/pull/1106
git show $commit:$path
output by @dandavison in https://github.com/dandavison/delta/pull/1127
Full Changelog: https://github.com/dandavison/delta/compare/0.13.0...0.14.0
Published by github-actions[bot] over 2 years ago
bat
on README by @eloyesp in https://github.com/dandavison/delta/pull/1052
Full Changelog: https://github.com/dandavison/delta/compare/0.12.1...0.13.0
Published by dandavison over 2 years ago
-
in path by @jdpopkin in https://github.com/dandavison/delta/pull/975
Full Changelog: https://github.com/dandavison/delta/compare/0.12.0...0.12.1
Published by github-actions[bot] over 2 years ago
There's quite a lot in this release, with contributions from 8 different people.
Firstly a breaking change: some deprecated options are no longer supported: in particular plus-color
and minus-color
. See https://github.com/dandavison/delta/pull/914. A description of this change and what you need to do if you're affected by it is below.
Secondly, improvements, including:
delta -h
. Delta is the proud possessor of 100 command-line options, so I think this is going to be helpful.Finally some bug fixes, including
The options affected here have been deprecated for a couple of years; I hope this doesn't cause you any trouble. Here are the details:
The most common case is that you have something like this in your ~/.gitconfig
:
[delta]
plus-color = my_plus_color
minus-color = my_minus_color
Please change that to
[delta]
plus-style = syntax my_plus_color
minus-style = normal my_minus_color
Here's the list of deprecated options with a summary of how to update them:
minus-color Deprecated: use `minus-style = normal my_background_color`
plus-color Deprecated: Use `plus-style = syntax my_background_color`
minus-emph-color Deprecated: use `minus-emph-style = normal my_background_color`
plus-emph-color Deprecated: Use `plus-emph-style = syntax my_background_color`
highlight-removed Deprecated: use `minus-style = syntax my_background_color`
commit-color Deprecated: use `commit-style = my_foreground_color
commit-decoration-style = my_foreground_color`
file-color Deprecated: use `file-style = my_foreground_color
file-decoration-style = my_foreground_color`
hunk-style Deprecated: synonym of `hunk-header-decoration-style`
hunk-color Deprecated: use `hunk-header-style = my_foreground_color
hunk-header-decoration-style = my_foreground_color`
theme Deprecated: use `syntax-theme`
For full documentation, please see delta --help
and https://dandavison.github.io/delta/configuration.html.
Full Changelog: https://github.com/dandavison/delta/compare/0.11.3...0.12.0
Published by github-actions[bot] almost 3 years ago
--word-diff
and --color-words
(#829). Note that line-numbers
and side-by-side
will be ignored if delta detects that the input was generated by git --word-diff / --color-words
.DELTA_FEATURES
can now be used to add to features specified in ~/.gitconfig. Use a +
prefix to do this: an example is DELTA_FEATURES=+side-by-side
which will activate side-by-side
, in addition to your usual features.less
history file in a better location on Windows. Thanks @rashil2000 for this work!Full Changelog: https://github.com/dandavison/delta/compare/0.11.2...0.11.3
Published by github-actions[bot] almost 3 years ago
This release fixes a performance problem that was affecting some users. See https://github.com/dandavison/delta/issues/824
Published by github-actions[bot] almost 3 years ago
Fixes a crash that can occur, see for example https://github.com/dandavison/delta/issues/826. Thanks @mrjoel.
Full Changelog: https://github.com/dandavison/delta/compare/0.11.0...0.11.1
Published by github-actions[bot] almost 3 years ago
This release adds handling of merge conflicts and the "combined" diff format which git uses for merge commits; see the Merge conflicts README section and https://github.com/dandavison/delta/issues/189. Please consider setting
[merge]
conflictstyle = diff3
With that setting, when a merge conflict is encountered, delta will display diffs between the ancestral commit and each of the two merge parents:
Full Changelog: https://github.com/dandavison/delta/compare/0.10.3...0.11.0
Published by github-actions[bot] almost 3 years ago
--word-diff
and --color-words
output in a nonsensical way. With this release, delta does not attempt to handle these output types, allowing git's raw output through unchanged. Appropriate handling may be added later. See https://github.com/dandavison/delta/issues/152
{plus,minus}-non-emph-style
; previously it assigned {plus,minus}-style
. This change does not alter visual output by default because by default those two style styles are set to the same value. See https://github.com/dandavison/delta/pull/785
side-by-side
mode, see #819Full Changelog: https://github.com/dandavison/delta/compare/0.10.2...0.10.3
Published by github-actions[bot] almost 3 years ago
This releases fixes a bug when using side-by-side with git diff.colorMoved
. See https://github.com/dandavison/delta/issues/802
Full Changelog: https://github.com/dandavison/delta/compare/0.10.1...0.10.2
Published by github-actions[bot] almost 3 years ago
This release fixes a bug in color-moved handling when files have DOS line endings. See #800
Full Changelog: https://github.com/dandavison/delta/compare/0.10.0...0.10.1
Published by github-actions[bot] almost 3 years ago
New features in this release:
git grep
and rg --json ... | delta
with code syntax highlighting and navigate functionality. See README#grep and https://github.com/dandavison/delta/pull/774.git blame
with code syntax highlighting, hyperlinks to commits, and control over formatting. See README#git-blame and https://github.com/dandavison/delta/pull/761.git show $revision:/path/to/file
git --color-moved
. This is done by specifying rules for remapping styles using map-styles
. See below, and README#--color-moved-support and https://github.com/dandavison/delta/issues/72
--show-colors
outputs a demo of 140 background colors with syntax highlighting, to help choose background colors.--parse-ansi
takes color input and prints out the corresponding style strings (useful for map-styles
)Here's an example of using map-styles
to assign delta styles (one with syntax highlighting) to the raw color-moved styles output by git. This should allow all git's color-moved options to be rendered using delta styles:
[delta]
features = my-color-moved-theme
[delta "my-color-moved-theme"]
git-moved-from-style = bold purple # An ad-hoc named style (must end in "-style")
map-styles = "my-color-moved-theme.git-moved-from-style => red #cccccc, \
bold cyan => syntax #cccccc"
# we could also have defined git-moved-to-style = bold cyan
To make use of that, you need to know that git is emitting "bold cyan" and "bold purple". But that's not always obvious. To help with that, delta now has a --parse-ansi
mode. E.g. git show --color=always | delta --parse-ansi
outputs something like this:
As you see above, we can now define named styles in gitconfig and refer to them in places where a style string is expected. We can also define custom named colors in git config, and styles can reference other styles; see the hoopoe theme for an example:
[delta "hoopoe"]
green = "#d0ffd0" # ad-hoc named color
plus-style = syntax hoopoe.green # refer to named color
plus-non-emph-style = plus-style # styles can reference other styles
Additionally, we can now use the 140 color names that are standard in CSS. Use delta --show-colors
to get a demo of the available colors, as background colors to see how they look with syntax highlighting:
Full Changelog: https://github.com/dandavison/delta/compare/0.9.2...0.10.0