private static void WriteUnifiedDiffSection(TextWriter writer, ArrayList hunks)
{
Diff.Hunk first = (Diff.Hunk) hunks[0];
Diff.Hunk last = (Diff.Hunk) hunks[hunks.Count - 1];
writer.Write("@@ -");
writer.Write(first.Left.Start + 1);
writer.Write(",");
writer.Write(last.Left.End - first.Left.Start + 1);
writer.Write(" +");
writer.Write(first.Right.Start + 1);
writer.Write(",");
writer.Write(last.Right.End - first.Right.Start + 1);
writer.WriteLine(" @@");
foreach (Diff.Hunk hunk in hunks)
{
if (hunk.Same)
{
WriteBlock(writer, ' ', hunk.Left);
continue;
}
WriteBlock(writer, '-', hunk.Left);
WriteBlock(writer, '+', hunk.Right);
}
}