← All open source projects

diff-so-fancy

so-fancy/diff-so-fancy

diff-so-fancy is a tool that makes git diff output easier to read.

Forks 345
Author so-fancy
Language Perl
License MIT
Synced 2026-06-27

What It Is

diff-so-fancy is a terminal tool for prettier diff output. It makes Git and regular diff output easier for humans to read.

The idea is simple: review quality depends not only on code, but also on how quickly the eye understands a change. Standard diff is accurate, but not always pleasant.

What Is Inside

The project is written in Perl and distributed as a script with a supporting library directory. It can be installed through Homebrew, npm, Linux packages, or manually from a release.

diff-so-fancy adjusts headers, hunk indicators, empty lines, rulers, and other details so the output feels calmer and more structured.

How People Use It

Most users connect it as a Git pager. After that, normal `git diff` and interactive operations show the improved output.

It is useful for developers who inspect changes in the terminal before committing, during review, while comparing branches, or when reading someone else’s patch.

Example

The commands configure Git so diff-so-fancy processes normal diff output and interactive diff filtering.

Git Setup

The example makes diff-so-fancy the default processor for Git diff output.

Language: Bash
git config --global core.pager "diff-so-fancy | less --tabs=4 -RF"
git config --global interactive.diffFilter "diff-so-fancy --patch"

Strengths And Limits

diff-so-fancy’s strength is a small change with daily impact. It does not change Git behavior; it makes changes easier to read.

The limitation is taste. Some teams prefer fully standard diff output, especially in documentation or when teaching newcomers.

Project Context

diff-so-fancy is maintained in the so-fancy/diff-so-fancy repository; its public project history starts on 2016-02-04. GitHub reports the primary language as Perl, and the license as MIT.

For a catalog page, this context matters because the reader sees a real project with an owner, license, technical base, and public change history rather than an abstract name.