summaryrefslogtreecommitdiff
path: root/diff-lcs/tags/release-1.0.1/htmldiff
diff options
context:
space:
mode:
Diffstat (limited to 'diff-lcs/tags/release-1.0.1/htmldiff')
-rw-r--r--diff-lcs/tags/release-1.0.1/htmldiff111
1 files changed, 0 insertions, 111 deletions
diff --git a/diff-lcs/tags/release-1.0.1/htmldiff b/diff-lcs/tags/release-1.0.1/htmldiff
deleted file mode 100644
index e013600..0000000
--- a/diff-lcs/tags/release-1.0.1/htmldiff
+++ /dev/null
@@ -1,111 +0,0 @@
-#! /usr/bin/env ruby
-#--
-# Copyright 2004 Austin Ziegler <diff-lcs@halostatue.ca>
-# adapted from:
-# Algorithm::Diff (Perl) by Ned Konz <perl@bike-nomad.com>
-# Smalltalk by Mario I. Wolczko <mario@wolczko.com>
-# implements McIlroy-Hunt diff algorithm
-#
-# This program is free software. It may be redistributed and/or modified under
-# the terms of the GPL version 2 (or later), the Perl Artistic licence, or the
-# Ruby licence.
-#
-# $Id$
-#++
-
-begin
- require 'diff/lcs/string'
-rescue
- require 'rubygems'
- require_gem 'diff-lcs', "1.0.1"
- require 'diff/lcs/string'
-end
-
-require 'text/format'
-
-class HTMLDiff #:nodoc:
- attr_accessor :output
-
- def initialize(output)
- @output = output
- end
-
- # This will be called with both lines are the same
- def match(event)
- @output << %Q|<pre class="match">#{event.old_el}</pre>\n|
- end
-
- # This will be called when there is a line in A that isn't in B
- def discard_a(event)
- @output << %Q|<pre class="only_a">#{event.old_el}</pre>\n|
- end
-
- # This will be called when there is a line in B that isn't in A
- def discard_b(event)
- @output << %Q|<pre class="only_b">#{event.new_el}</pre>\n|
- end
-end
-
-if ARGV.size != 2
- puts "usage: #{File.basename($0)} old new > output.html"
- exit 255
-end
-
-hd = HTMLDiff.new($stdout)
-tf = Text::Format.new
-tf.tabstop = 4
-
-preprocess = lambda { |line| tf.expand(line.chomp) }
-
-a = IO.readlines(ARGV[0]).map(&preprocess)
-b = IO.readlines(ARGV[1]).map(&preprocess)
-
-$stdout.write <<-START
-<html>
- <head>
- <title>diff #{ARGV[0]} #{ARGV[1]}</title>
- <style>
- body { margin: 0; }
- .diff
- {
- border: 1px solid black;
- margin: 1em 2em;
- }
- pre
- {
- padding-left: 1em;
- margin: 0;
- font-family: Lucida, Courier, monospaced;
- white-space: pre;
- }
- .match { }
- .only_a
- {
- background-color: #fdd;
- color: red;
- text-decoration: line-through;
- }
- .only_b
- {
- background-color: #ddf;
- color: blue;
- border-left: 3px solid blue
- }
- h1 { margin-left: 2em; }
- </style>
- </head>
- <body>
- <h1>diff&nbsp;
- <span class="only_a">#{ARGV[0]}</span>&nbsp;
- <span class="only_b">#{ARGV[1]}</span>
- </h1>
- <div class="diff">
-START
-
-Diff::LCS.traverse_sequences(a, b, hd)
-
-$stdout.write <<-END
- </div>
- </body>
-</html>
-END