aboutsummaryrefslogtreecommitdiff
path: root/lib/Rewrite/HTMLRewrite.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-03-19 21:59:05 +0000
committerTed Kremenek <kremenek@apple.com>2008-03-19 21:59:05 +0000
commite8e019ede11579bce271bee0b2b0b543bd9833a5 (patch)
tree47eb40f689f6e7ce6a1dbd88daf640f29804464f /lib/Rewrite/HTMLRewrite.cpp
parent1ab09f52be88641b7b780d0bcc29aae889313098 (diff)
Misc. cleanups to HTML printing: make code rendered using tables; add
better div positioning for messages. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48555 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Rewrite/HTMLRewrite.cpp')
-rw-r--r--lib/Rewrite/HTMLRewrite.cpp49
1 files changed, 23 insertions, 26 deletions
diff --git a/lib/Rewrite/HTMLRewrite.cpp b/lib/Rewrite/HTMLRewrite.cpp
index dcbf181980..819dc20167 100644
--- a/lib/Rewrite/HTMLRewrite.cpp
+++ b/lib/Rewrite/HTMLRewrite.cpp
@@ -49,27 +49,27 @@ void html::EscapeText(Rewriter& R, unsigned FileID, bool EscapeSpaces) {
static void AddLineNumber(Rewriter& R, unsigned LineNo,
SourceLocation B, SourceLocation E) {
- // Surround the line text with a div tag.
+ // Put the closing </tr> first.
- R.InsertCStrBefore(E, "</div>");
+ R.InsertCStrBefore(E, "</tr>");
if (B == E) // Handle empty lines.
- R.InsertCStrBefore(B, "<div class=\"lines\"> </div>");
+ R.InsertCStrBefore(B, "<td class=\"line\"> </td>");
else {
- R.InsertCStrBefore(E, "</div>");
- R.InsertCStrBefore(B, "<div class=\"lines\">");
+ R.InsertCStrBefore(E, "</td>");
+ R.InsertCStrBefore(B, "<td class=\"line\">");
}
// Insert a div tag for the line number.
std::ostringstream os;
- os << "<div class=\"nums\">" << LineNo << "</div>";
+ os << "<td class=\"num\">" << LineNo << "</td>";
R.InsertStrBefore(B, os.str());
- // Now surround the whole line with another div tag.
+ // Now prepend the <tr>.
- R.InsertCStrBefore(B, "<div class=\"codeline\">");
+ R.InsertCStrBefore(B, "<tr>");
}
@@ -115,10 +115,10 @@ void html::AddLineNumbers(Rewriter& R, unsigned FileID) {
// Add one big div tag that surrounds all of the code.
R.InsertCStrBefore(SourceLocation::getFileLoc(FileID, 0),
- "<div id=\"codeblock\">");
+ "<table class=\"code\">\n");
R.InsertCStrAfter(SourceLocation::getFileLoc(FileID, FileEnd - FileBeg),
- "</div>");
+ "</table>");
}
void html::AddHeaderFooterInternalBuiltinCSS(Rewriter& R, unsigned FileID) {
@@ -136,22 +136,19 @@ void html::AddHeaderFooterInternalBuiltinCSS(Rewriter& R, unsigned FileID) {
std::ostringstream os;
os << "<html>\n<head>\n"
- << " <style type=\"text/css\">\n"
- << " .codeblock { width:100% }\n"
- << " .codeline { font-family: \"Andale Mono\", fixed; font-size:10pt }\n"
- << " .codeline { height:1.5em; line-height:1.5em }\n"
- << " .nums, .lines { float:left; height:100% }\n"
- << " .nums { background-color: #eeeeee }\n"
- << " .nums { font-size:smaller }\n"
- << " .nums { width:2.5em; padding-right:2ex; text-align:right }\n"
- << " .lines { padding-left: 1ex; border-left: 3px solid #ccc }\n"
- << " .lines { white-space: pre }\n"
- << " .msg { background-color:#fcff4c; float:left }\n"
- << " .msg { font-family:Helvetica, sans-serif; font-size: smaller }\n"
- << " .msg { padding:5px; margin-top:10px; margin-bottom:10px }\n"
- << " </style>\n"
- << "</head>\n"
- << "<body>";
+ << "<style type=\"text/css\">\n"
+ << " .code { border-spacing:0px; width:100%; }\n"
+ << " .code { font-family: \"Andale Mono\", fixed; font-size:10pt }\n"
+ << " .code { line-height: 1.2em }\n"
+ << " .num { width:2.5em; padding-right:2ex; background-color:#eeeeee }\n"
+ << " .num { text-align:right; font-size: smaller }\n"
+ << " .line { padding-left: 1ex; border-left: 3px solid #ccc }\n"
+ << " .line { white-space: pre }\n"
+ << " .msg { background-color:#fcff4c }\n"
+ << " .msg { font-family:Helvetica, sans-serif; font-size: smaller }\n"
+ << " .msg { float:left }\n"
+ << " .msg { padding:5px; margin-top:10px; margin-bottom:10px }\n"
+ << "</style>\n</head>\n<body>";
R.InsertStrBefore(StartLoc, os.str());
}