But the beginParagraph/endParagraph is a mistake actually, fixing it.
On Sun, Feb 21, 2010 at 16:34, Thomas Mortagne
<thomas.mortagne(a)xwiki.com> wrote:
On Sun, Feb 21, 2010 at 16:17, Vincent Massol
<vincent(a)massol.net> wrote:
Hi Thomas,
Can you explain the reason for this change? It doesn't sound logical at first sight
that the code macro result isn't wrapped in a verbatim block.
The direct reason is that it's making the CSS more complex for nothing
and that the verbatim is here totally useless.
An anyway i don't agree with you, it make more sense since it's more
consistent with other values of language property. Only "none" syntax
was using verbatim block. IMO verbatim should not be generated by
transformation as much as possible since it's totally useless at XDOM
level. Currently its only a kind of marker to remember that user
wanted to escape a whole block of text and did not use char by char
escaping syntax.
Thanks
-Vincent
On Feb 21, 2010, at 4:14 PM, tmortagne (SVN) wrote:
Author: tmortagne
Date: 2010-02-21 16:14:04 +0100 (Sun, 21 Feb 2010)
New Revision: 27187
Modified:
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/main/java/org/xwiki/rendering/internal/macro/code/CodeMacro.java
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/test/resources/macrocode10.test
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/test/resources/macrocode3.test
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/test/resources/macrocode6.test
Log:
XWIKI-4915: Code macro 2.0 - inline language=none uses non-monospace font
Modified:
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/main/java/org/xwiki/rendering/internal/macro/code/CodeMacro.java
===================================================================
---
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/main/java/org/xwiki/rendering/internal/macro/code/CodeMacro.java
2010-02-21 14:55:48 UTC (rev 27186)
+++
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/main/java/org/xwiki/rendering/internal/macro/code/CodeMacro.java
2010-02-21 15:14:04 UTC (rev 27187)
@@ -23,16 +23,18 @@
import java.util.Collections;
import java.util.List;
+import org.apache.commons.lang.StringUtils;
import org.xwiki.component.annotation.Component;
+import org.xwiki.component.annotation.Requirement;
import org.xwiki.component.manager.ComponentLookupException;
import org.xwiki.rendering.block.Block;
-import org.xwiki.rendering.block.VerbatimBlock;
import org.xwiki.rendering.macro.MacroExecutionException;
import org.xwiki.rendering.macro.box.AbstractBoxMacro;
import org.xwiki.rendering.macro.code.CodeMacroParameters;
import org.xwiki.rendering.macro.descriptor.DefaultContentDescriptor;
import org.xwiki.rendering.parser.HighlightParser;
import org.xwiki.rendering.parser.ParseException;
+import org.xwiki.rendering.parser.Parser;
import org.xwiki.rendering.transformation.MacroTransformationContext;
/**
@@ -48,7 +50,7 @@
* The description of the macro.
*/
private static final String DESCRIPTION = "Highlights code snippets of various
programming languages";
-
+
/**
* Used to indicate that content should not be highlighted.
*/
@@ -60,6 +62,12 @@
private static final String CONTENT_DESCRIPTION = "the content to
highlight";
/**
+ * Used to parse content when language="none".
+ */
+ @Requirement("plain/1.0")
+ private Parser plainTextParser;
+
+ /**
* Create and initialize the descriptor of the macro.
*/
public CodeMacro()
@@ -81,7 +89,14 @@
List<Block> result;
try {
if (LANGUAGE_NONE.equalsIgnoreCase(parameters.getLanguage())) {
- result = Collections.<Block> singletonList(new
VerbatimBlock(content, context.isInline()));
+ if (StringUtils.isEmpty(content)) {
+ result = Collections.emptyList();
+ } else {
+ result = this.plainTextParser.parse(new
StringReader(content)).getChildren();
+ if (context.isInline()) {
+ result = result.get(0).getChildren();
+ }
+ }
} else {
result = highlight(parameters, content);
}
Modified:
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/test/resources/macrocode10.test
===================================================================
---
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/test/resources/macrocode10.test
2010-02-21 14:55:48 UTC (rev 27186)
+++
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/test/resources/macrocode10.test
2010-02-21 15:14:04 UTC (rev 27187)
@@ -16,7 +16,9 @@
endMacroMarkerStandalone [code] [language=notsupportedsyntax] [Text]
beginMacroMarkerStandalone [code] [language=none] [Text]
beginGroup [[class]=[box code]]
-onVerbatim [Text] [false]
+beginParagraph
+onWord [Text]
+endParagraph
endGroup [[class]=[box code]]
endMacroMarkerStandalone [code] [language=none] [Text]
endDocument
\ No newline at end of file
[snip]
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
--
Thomas Mortagne