Introducing icdiff |
March 11th, 2009 |
icdiff, tech |
The first time I used wikipedia to look at revisions I was quite
impressed by the colored two column output indicating which bits had
changed. Working mostly on the command line, it's been frustrating
that diff can't do better than two column output. Even colored diff and cdiff only color
lines by whether they're from the left or the right, not whether
they're internally different. Python's difflib can create the
wikipedia-style two column colored output, though, and with a bit of
modification can print to the console with ansi escape sequences:
Referenced in:
And the usage:
jefftk@host
~ $
python icdiff.py text_A text_B
This is an unchanged line
This is an unchanged line
This is a line with a spel
e
ing error
This is a line with a spel
l
ing error
This line was deleted
Whitespace
shows up where critical
Whitespace shows up where critical
But it's not
shown
when not
But it's not
ugly
when not
And here I go, adding a line
Improved Color diff: icdiffusage: icdiff.py [options] left_file right_file options: -h, --help show this help message and exit --cols=COLS specify the width of the screen. Autodetection is Linux only --context print only differences with some context --numlines=NUMLINES how many lines of context to print; only meaningful with --context --line-numbers generate output with line numbers --show-all-spaces color all non-matching whitespace instead of just whitespace that is critical for understanding --print-headers label the left and right sides with their file names
Comment via: google plus, facebook