::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact

Introducing icdiff

March 11th, 2009
tech, icdiff  [html]
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:
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 speleing error This is a line with a spelling 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
And the usage:
  usage: 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
  
Improved Color diff: icdiff

Comment via: google plus, facebook

Recent posts on blogs I like:

The Private Sector’s Role in Transit Innovation

The United States has long had private success and public failure – not just the sense of private affluence and public squalor, in which household income is high but the state of public services lags, but also in that the private sector is more productive…

via Pedestrian Observations June 17, 2019

Unintended pregnancy in folk songs

I’ve been listening to a lot of the Watersons and Waterson:Carthy this week. It’s reminded me how absolutely full British folk music is of songs about unintended pregnancy. Most commonly the result is unhappy motherhood: “But if I had kent that I now ken …

via The whole sky June 1, 2019

Programmer migration patterns

I made a little flow chart of mainstream programming languages and how programmers seem to move from one to another. There's a more common kind of chart, which shows how the languages themselves evolved. I didn't want to show the point of view of …

via apenwarr March 18, 2019

more     (via openring)

More Posts:


  ::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact