");
if (ShowLineNumbers) {
output.Write("');
output.Write(lineNumber.ToString().PadLeft(longestNumberLength));
output.Write(": ");
output.Write("");
}
PrintWords(output, line);
output.WriteLine("");
}
output.WriteLine("");
for (int lineNumber = 1; lineNumber <= document.LineCount; lineNumber++) {
HighlightedLine line = highlighter.HighlightLine(lineNumber);
PrintWords(output, line);
output.WriteLine();
}
output.WriteLine("");
}
if (CreateStylesheet && stylesheet.Length > 0) {
string result = "" + output.ToString();
stylesheet = new StringBuilder();
return result;
} else {
return output.ToString();
}
}
void PrintWords(TextWriter writer, HighlightedLine line)
{
writer.Write(line.ToHtml(new MyHtmlOptions(this)));
}
class MyHtmlOptions : HtmlOptions
{
readonly HtmlWriter htmlWriter;
internal MyHtmlOptions(HtmlWriter htmlWriter)
{
this.htmlWriter = htmlWriter;
}
public override void WriteStyleAttributeForColor(TextWriter writer, HighlightingColor color)
{
htmlWriter.WriteStyle(writer, color.ToCss());
}
}
void WriteStyle(TextWriter writer, string style)
{
if (CreateStylesheet) {
writer.Write(" class=\"");
writer.Write(GetClass(style));
writer.Write('"');
} else {
writer.Write(" style='");
writer.Write(style);
writer.Write("'");
}
}
}
}