• Posts
  • RSS
  • ◂◂RSS
  • Contact

  • Introducing icdiff

    March 11th, 2009
    icdiff, tech  [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:

    Collections: Clothing, How Did They Make It? Part I: High Fiber

    This week we are starting the first of a four (?) part look at pre-modern textile production. As with our series on farming and iron, we are going to follow the sequence of production from the growing of fibers all the way to the finished object, with a f…

    via A Collection of Unmitigated Pedantry March 5, 2021

    Austerity is Inefficient

    Working on an emergency timetable for regional rail has made it clear how an environment of austerity requires tradeoffs that reduce efficiency. I already talked about how the Swiss electronics before concrete slogan is not about not spending money but ab…

    via Pedestrian Observations February 27, 2021

    The Troubling Ethics of Writing (A Speech from Ancient Sumer)

    (Translated from a transcript of an ancient Sumerian speech by Uruk's most well-respected Scriptological Ethicist) Writing is a profoundly dangerous technology: Access to writing was initially, and still remains, uneven. What's worse, the rich are m…

    via BLOG - Cullen O'Keefe February 15, 2021

    more     (via openring)


  • Posts
  • RSS
  • ◂◂RSS
  • Contact