diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-03-18 23:55:46 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-03-18 23:55:46 +0000 |
commit | 1b3188cfc2bfaeb14d40c43c1df62097b79016d1 (patch) | |
tree | e40c98138b3f0691345984ae7f5a9548bd3ac00b /Driver/HTMLPrint.cpp | |
parent | b485cd1e0a5a1e942d0e682b9b1c4bc9df111528 (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.cpp | 21 |
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. |