aboutsummaryrefslogtreecommitdiff
path: root/Driver/HTMLPrint.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-03-18 23:55:46 +0000
committerTed Kremenek <kremenek@apple.com>2008-03-18 23:55:46 +0000
commit1b3188cfc2bfaeb14d40c43c1df62097b79016d1 (patch)
treee40c98138b3f0691345984ae7f5a9548bd3ac00b /Driver/HTMLPrint.cpp
parentb485cd1e0a5a1e942d0e682b9b1c4bc9df111528 (diff)
More HTML rewriter cleanups. Preliminary CSS support in code pretty-printing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48518 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Driver/HTMLPrint.cpp')
-rw-r--r--Driver/HTMLPrint.cpp21
1 files changed, 17 insertions, 4 deletions
diff --git a/Driver/HTMLPrint.cpp b/Driver/HTMLPrint.cpp
index 940016afd2..6c8a1d1aad 100644
--- a/Driver/HTMLPrint.cpp
+++ b/Driver/HTMLPrint.cpp
@@ -18,6 +18,7 @@
#include "clang/Basic/SourceManager.h"
#include "llvm/Support/MemoryBuffer.h"
#include "clang/AST/ASTContext.h"
+#include <sstream>
using namespace clang;
@@ -49,10 +50,22 @@ HTMLPrinter::~HTMLPrinter() {
html::EscapeText(R, FileID);
html::AddLineNumbers(R, FileID);
- html::InsertTag(R, html::PRE, StartLoc, EndLoc, 0, 0, true);
- html::InsertTag(R, html::BODY, StartLoc, EndLoc, NULL, "\n", true);
- html::InsertTag(R, html::HEAD, StartLoc, StartLoc, 0, 0, true);
- html::InsertTag(R, html::HTML, StartLoc, EndLoc, NULL, "\n", true);
+ html::InsertOuterTag(R, html::PRE, StartLoc, EndLoc, 0, 0, true);
+ html::InsertOuterTag(R, html::BODY, StartLoc, EndLoc, NULL, "\n", true);
+
+ // Generate CSS.
+
+ std::ostringstream css;
+ css << "\n <style type=\"text/css\">\n";
+ css << " .nums, .lines { vertical-align:top }\n";
+ css << " .nums { padding-right:.5em; width:2.5em }\n";
+ css << " </style>\n";
+
+
+ // Add <head> and <html> tags.
+
+ html::InsertTagBefore(R, html::HEAD, StartLoc, StartLoc, 0,css.str().c_str());
+ html::InsertOuterTag(R, html::HTML, StartLoc, EndLoc, 0, "\n");
// Emit the HTML.