JS代码格式化和语法着色V2

2019-06-03 18:16:39王旭

}

function expandAll(index){
    index=isNaN(parseInt(index))?0:parseInt(index);
    if(!divJSOutputPlus.buttons)return;
    if(index<0)index=0;
    if(index>divJSOutputPlus.buttons.length)return;
    for(var i=index;i<divJSOutputPlus.buttons.length&&i-index<10;i++)divJSOutputPlus.buttons[i].switchDIV("show");
    setTimeout("expandAll("+i+")");
}


function core_analysis(){
    var str=" ", c="", lastState="", seq, intNextQuote, intTemp, intCount, intWordStart;
    spnProcess.innerHTML=parseFloat(glbP/glbStr.length*100).toFixed(2)+"%  ( "+glbP+" / "+glbStr.length+" )";
    for(var i=glbP;i<glbStr.length;i++){
        c=glbStr.charAt(i);
        str+=htmlEncode(c);
        switch(c){
            case "r": case " ": case "t":
                if(lastState=="rn"){str=" ";break;}
                str=str.substring(0,str.length-htmlEncode(c).length);
                if(lastState=="blank")break;
                if(c.match(/W/)&&glbStr.charAt(i-1).match(/w/)){
                    str=str.replace(regKW,clKW).replace(regObj,clObj).replace(regMP,clMP);
                }
                str+=htmlEncode(c);
                lastState="blank";
            break;
            case ";":
                if(str.match(/Wfor.*?(/i))break;
                // attention there's no break here
            case "n":
                if(lastState=="rn"){str=" ";break;}