so-fancy/diff-so-fancy

Name: diff-so-fancy

Owner: So Fancy

Description: Good-lookin' diffs. Actually? nah? The best-lookin' diffs. :tada:

Created: 2016-02-04 11:32:08.0

Updated: 2018-01-22 03:14:02.0

Pushed: 2018-01-18 00:20:29.0

Homepage:

Size: 324

Language: Perl

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

diff-so-fancy Circle CI build TravisCI build AppVeyor build

diff-so-fancy strives to make your diff's human readable instead of machine readable. This helps improve code quality and help you spot defects faster.

Screenshot

Vanilla git diff vs git and diff-so-fancy

diff-highlight vs diff-so-fancy

Install

Installation is as simple as downloading the diff-so-fancy script to a directory in your path

diff-so-fancy is also available from NPM, Nix, brew, and as a package on Arch Linux.

Usage

Configure git to use diff-so-fancy for all diff output:

config --global core.pager "diff-so-fancy | less --tabs=4 -RFX"
Improved colors for the highlighted bits

The default Git colors are not optimal. We suggest the following colors instead.

config --global color.ui true

config --global color.diff-highlight.oldNormal    "red bold"
config --global color.diff-highlight.oldHighlight "red bold 52"
config --global color.diff-highlight.newNormal    "green bold"
config --global color.diff-highlight.newHighlight "green bold 22"

config --global color.diff.meta       "yellow"
config --global color.diff.frag       "magenta bold"
config --global color.diff.commit     "yellow bold"
config --global color.diff.old        "red bold"
config --global color.diff.new        "green bold"
config --global color.diff.whitespace "red reverse"
Options
markEmptyLines

Should the first block of an empty line be colored. (Default: true)

config --bool --global diff-so-fancy.markEmptyLines false
changeHunkIndicators

Simplify git header chunks to a more human readable format. (Default: true)

config --bool --global diff-so-fancy.changeHunkIndicators false
stripLeadingSymbols

Should the pesky + or - at line-start be removed. (Default: true)

config --bool --global diff-so-fancy.stripLeadingSymbols false
useUnicodeRuler

By default the separator for the file header uses Unicode line drawing characters. If this is causing output errors on your terminal set this to false to use ASCII characters instead. (Default: true)

config --bool --global diff-so-fancy.useUnicodeRuler false
Contributing

Pull requests are quite welcome, and should target the next branch. We are also looking for any feedback or ideas on how to make diff-so-fancy even better.

Other documentation
License

MIT


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.