delta

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

MIT License

Downloads
7.9K
Stars
22.7K
Committers
111

Bot releases are visible (Hide)

delta - 0.18.2 Latest Release

Published by github-actions[bot] about 1 month ago

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.

What's Changed

Full Changelog: https://github.com/dandavison/delta/compare/0.18.1...0.18.2

delta - 0.18.1

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).

What's Changed

New Contributors

Full Changelog: https://github.com/dandavison/delta/compare/0.18.0...0.18.1

delta - 0.18.0

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!

What's Changed

New Contributors

Full Changelog: https://github.com/dandavison/delta/compare/0.17.0...0.18.0

delta - 0.17.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)

What's Changed

New Contributors

Full Changelog: https://github.com/dandavison/delta/compare/0.16.5...0.17.0

delta - 0.16.5

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.

What's Changed

Full Changelog: https://github.com/dandavison/delta/compare/0.16.4...0.16.5

delta - 0.16.4

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.

What's Changed

New Contributors

Full Changelog: https://github.com/dandavison/delta/compare/0.15.1...0.16.4

delta - 0.15.1

Published by dandavison almost 2 years ago

What's Changed

Full Changelog: https://github.com/dandavison/delta/compare/0.15.0...0.15.1

delta - 0.15.0

Published by dandavison almost 2 years ago

What's Changed

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.

New Contributors

Full Changelog: https://github.com/dandavison/delta/compare/0.14.0...0.15.0

delta - 0.14.0

Published by github-actions[bot] about 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/dandavison/delta/compare/0.13.0...0.14.0

delta - 0.13.0

Published by github-actions[bot] over 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/dandavison/delta/compare/0.12.1...0.13.0

delta - 0.12.1

Published by dandavison over 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/dandavison/delta/compare/0.12.0...0.12.1

delta - 0.12.0

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:

  • A (much-needed) short help text is now available: use delta -h. Delta is the proud possessor of 100 command-line options, so I think this is going to be helpful.
  • git blame output now displays line numbers (thanks to @th1000s)
  • Improvements to file and mode labels by @WayneD
  • delta now has a user manual: https://dandavison.github.io/delta/. You can even create a PDF copy (print button in upper-right hand corner), and the README is correspondingly now a much easier read with the minimal required setup instructions and an overview of functionality with screenshots.

Finally some bug fixes, including

  • File path hyperlinks (e.g. in diff and grep output) were previously sometimes incorrect, especially when delta was invoked from a directory other than the repo root.
  • Some fixes to grep output parsing edge cases

Deprecated options no longer supported:

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.

PRs

New Contributors

Full Changelog: https://github.com/dandavison/delta/compare/0.11.3...0.12.0

delta - 0.11.3

Published by github-actions[bot] almost 3 years ago

  • Fix handling of --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.
  • Store less history file in a better location on Windows. Thanks @rashil2000 for this work!
  • Fix performance issue affecting some linux users (#839)

What's Changed

New Contributors

Full Changelog: https://github.com/dandavison/delta/compare/0.11.2...0.11.3

delta - 0.11.2

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

delta - 0.11.1

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.

What's Changed

Full Changelog: https://github.com/dandavison/delta/compare/0.11.0...0.11.1

delta - 0.11.0

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:

PRs

Full Changelog: https://github.com/dandavison/delta/compare/0.10.3...0.11.0

delta - 0.10.3

Published by github-actions[bot] almost 3 years ago

  • Delta was previously handling --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
  • When a line is unchanged but paired with a line that has additions/deletions, delta now assigns the unchanged line {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
  • Fixes a bug affecting line numbers in side-by-side mode, see #819

PRs

New Contributors

Full Changelog: https://github.com/dandavison/delta/compare/0.10.2...0.10.3

delta - 0.10.2

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

What's Changed

Full Changelog: https://github.com/dandavison/delta/compare/0.10.1...0.10.2

delta - 0.10.1

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

What's Changed

New Contributors

Full Changelog: https://github.com/dandavison/delta/compare/0.10.0...0.10.1

delta - 0.10.0

Published by github-actions[bot] almost 3 years ago

New features in this release:

  • delta displays output from git grep and rg --json ... | delta with code syntax highlighting and navigate functionality. See README#grep and https://github.com/dandavison/delta/pull/774.
  • delta displays output from 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.
  • delta syntax highlights file contents produced by git show $revision:/path/to/file
  • delta can apply syntax highlighting and arbitrary styling to the raw colors emitted by 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
  • More powerful configuration options: styles can reference other styles, custom styles and custom colors can be defined in gitconfig and reused, and 140 colors can be specified using their standard CSS names. See below.
  • New subcommand --show-colors outputs a demo of 140 background colors with syntax highlighting, to help choose background colors.
  • New subcommand --parse-ansi takes color input and prints out the corresponding style strings (useful for map-styles)
  • Utilities for interrogating the command line of the process that is sending output to delta, added by @th1000s.

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:

PRs

New Contributors

Full Changelog: https://github.com/dandavison/delta/compare/0.9.2...0.10.0

Package Rankings
Top 1.48% on Alpine-v3.18
Top 8.07% on Alpine-v3.16
Top 8.22% on Alpine-v3.17
Top 5.44% on Alpine-edge
Top 14.66% on Crates.io
Top 8.17% on Formulae.brew.sh
Top 34.13% on Pypi.org