diff --git a/source/de/anomic/data/wikiCode.java b/source/de/anomic/data/wikiCode.java index 26764101d..f035a1caf 100644 --- a/source/de/anomic/data/wikiCode.java +++ b/source/de/anomic/data/wikiCode.java @@ -71,11 +71,12 @@ public class wikiCode { private String ListLevel=""; private String defListLevel=""; private plasmaSwitchboard sb; - private boolean escape = false; //needed for escape - private boolean escaped = false; //yat another varaible needed for
not getting in the way - private boolean escapeSpan = false; //needed for escape symbols [= and =] spanning over several lines - private boolean preformatted = false; //needed for preformatted test + private boolean escape = false; //needed for escape + private boolean escaped = false; //needed fornot getting in the way + private boolean escapeSpan = false; //needed for escape symbols [= and =] spanning over several lines + private boolean preformatted = false; //needed for preformatted text private boolean preformattedSpan = false; //needed forandspanning over several lines + private int preindented = 0; //needed for indenteds public wikiCode(plasmaSwitchboard switchboard){ sb=switchboard; @@ -430,25 +431,37 @@ public class wikiCode { //bothandin the same line else if(((p0 = result.indexOf("<pre>"))>=0)&&((p1 = result.indexOf("</pre>"))>=0)&&(!(escaped))){ String preformattedText = ""+result.substring(p0+11,p1)+""; - result = transformLine(result.substring(0,p0)+"!preformatted!!Text!"+result.substring(p1+12), switchboard); + result = transformLine(result.substring(0,p0)+"!preformatted!!Text!"+result.substring(p1+12), switchboard); result = result.replaceAll("!preformatted!!Text!", preformattedText); } //startelse if(((p0 = result.indexOf("<pre>"))>=0)&&(!preformattedSpan)&&(!(escaped))){ preformatted = true; //prevent surplus line breaks + String bq =""; //gets filled with"; + //taking care of indented lines + while (preindented > 0){ + bq = bq + ""; + preindented--; + } result = transformLine("!preformatted!!Text!"+result.substring(p0+12), switchboard); - result = result.replaceAll("!preformatted!!Text!", preformattedText); + result = result.replaceAll("!preformatted!!Text!", preformattedText)+bq; preformatted = false; } //end contrib [MN]s as needed String preformattedText = "s as needed String preformattedText = result.substring(0,p0)+""+result.substring(p0+11); - result = transformLine(result.substring(0,p0)+"!preformatted!!Text!", switchboard); - result = result.replaceAll("!preformatted!!Text!", preformattedText); + //taking care of indented lines + while(result.substring(preindented,p0).startsWith(":")){ + preindented++; + bq = bq + "else if(((p0 = result.indexOf("</pre>"))>=0)&&(preformattedSpan)&&(!(escaped))){ preformattedSpan = false; + String bq = ""; //gets filled with"; + } + result = transformLine(result.substring(preindented,p0)+"!preformatted!!Text!", switchboard); + result = bq + result.replaceAll("!preformatted!!Text!", preformattedText); preformattedSpan = true; } //end