From cc61f8942f0e44ddf73c3f04de43991e1d507740 Mon Sep 17 00:00:00 2001 From: "Natalia.Ukhorskaya" Date: Thu, 19 Apr 2012 14:46:52 +0400 Subject: [PATCH] Correct formatting for IE and PDF export --- .../org/jetbrains/jet/lexer/JetMacro.java | 32 ++++++++++++++++++- confluence/src/main/resources/kotlin.css | 13 +++++++- 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/confluence/src/main/java/org/jetbrains/jet/lexer/JetMacro.java b/confluence/src/main/java/org/jetbrains/jet/lexer/JetMacro.java index b7dd3d91577..431fb120511 100644 --- a/confluence/src/main/java/org/jetbrains/jet/lexer/JetMacro.java +++ b/confluence/src/main/java/org/jetbrains/jet/lexer/JetMacro.java @@ -226,6 +226,9 @@ public class JetMacro extends BaseMacro { case '&': builder.append("&"); break; + case ' ': + builder.append(" "); + break; case '"': builder.append("""); break; @@ -235,6 +238,24 @@ public class JetMacro extends BaseMacro { } } + private String addNewLineOpenTag() { + return "
"; + } + + private String addNewLineCloseTag() { + return "
"; + } + + private void addNewLines(StringBuilder result, String yytext) { + for (int i = 0; i < yytext.length(); i++) { + if (yytext.charAt(i) == '\n') { + result.append(" "); + result.append(addNewLineCloseTag()); + result.append(addNewLineOpenTag()); + } + } + } + @Override public String execute(Map map, String code, RenderContext renderContext) throws MacroException { try { @@ -252,6 +273,8 @@ public class JetMacro extends BaseMacro { "
" ); + result.append(addNewLineOpenTag()); + _JetLexer jetLexer = new _JetLexer(DUMMY_READER); jetLexer.reset(afterPreprocessing, 0, afterPreprocessing.length(), _JetLexer.YYINITIAL); @@ -284,7 +307,13 @@ public class JetMacro extends BaseMacro { IElementType token = jetLexer.advance(); if (token == null) break; // CharSequence yytext = jetLexer.yytext(); - String yytext = jetLexer.yytext().toString().replaceAll("\n", "\r\n"); + String yytext = jetLexer.yytext().toString(); + + if (yytext.contains("\n")) { + addNewLines(result, yytext); + yytext = yytext.replaceAll("\n", ""); + } + String style = null; if (token instanceof JetKeywordToken) { style = "keyword"; @@ -306,6 +335,7 @@ public class JetMacro extends BaseMacro { result.append(""); } + result.append(addNewLineCloseTag()); result.append("
"); result.append(""); result.append(""); diff --git a/confluence/src/main/resources/kotlin.css b/confluence/src/main/resources/kotlin.css index c63d0d60613..29449e81d79 100644 --- a/confluence/src/main/resources/kotlin.css +++ b/confluence/src/main/resources/kotlin.css @@ -1,8 +1,19 @@ .jet { - white-space: pre; display: inline; } +.code { + padding: 5px !important; +} + +.codeContent { + margin: 5px !important; +} + +.line { + white-space: pre !important; +} + .jet.keyword { font-weight: bold; color: #369;