//initialize a buffer
// If you're using JDK 1.5 or later and want some extra performance this can be a StringBuilder
//variables.buffer=createObject("java","java.lang.StringBuilder").init();
variables.buffer=createObject("java","java.lang.StringBuffer").init();
// initialize private variables
// TODO : Change the parser state to be a struct rather than individual variables.
variables.isCommented=false;
variables.isTag=false;
variables.isValue=false;
variables.isCFSETTag=false;
variables.isCFScript=false;
variables.isCFQueryTag=false;
variables.isOneLineComment=false;
variables.isMXML=false;
variables.isActionscript=false;
variables.isSQL=false;
variables.isSQLValue=false;
variables.initialparser="";
variables.spansOpened = 0;
variables.spansClosed = 0;
var BIstream = createObject("java","java.io.StringBufferInputStream").init(arguments.code);
var IStream = createObject("java","java.io.InputStreamReader").init(BIstream);
var reader = createObject("java","java.io.BufferedReader").init(IStream);
var line = reader.readLine();
var linenumber = 0;
if (arguments.parser neq "") {
"variables.is#arguments.parser#" = true;
}
if (getConfig().getShowToolbar()) {
getToolbarHTML(arguments.code,arguments.codesig);
}
variables.buffer.append("");
while (isdefined("line")) {
if (getConfig().getShowLineNumbers()) {
linenumber = linenumber + 1;
variables.buffer.append("" & linenumber & "");
}
formatLine(line);
line = reader.readLine();
}
// there appears to be more spans created than cleaned up... closing up any extras... will need to review to see what is keeping extra spans
while (variables.spansOpened gt variables.spansClosed) {
variables.spansClosed = variables.spansClosed + 1;
variables.buffer.append("");
}
variables.buffer.append("");
reader.close();
return variables.buffer;