cargo git-delta 0.10.0

latest releases: 0.17.0, 0.16.5, 0.16.4...
2 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 #774.
  • delta displays output from git blame with code syntax highlighting, hyperlinks to commits, and control over formatting. See README#git-blame and #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 #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:

image

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:

image

PRs

New Contributors

Full Changelog: 0.9.2...0.10.0

Don't miss a new git-delta release

NewReleases is sending notifications on new releases.