WikiFunctions.UnifiedDiff.WriteUnifiedDiffSection C# (CSharp) Method

WriteUnifiedDiffSection() private static method

private static WriteUnifiedDiffSection ( TextWriter writer, ArrayList hunks ) : void
writer System.IO.TextWriter
hunks System.Collections.ArrayList
return void
        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);
            }
        }