KodExplorer/static/js/lib/code_beautify.js

1 line
26 KiB
JavaScript
Raw Normal View History

2016-12-21 08:01:06 +00:00
(function(){function d(b,f){var a=new c(b,f);return a.beautify()}function c(bs,aX){var bu,aP,bf,a5,a,a3,aJ;var bd,aV,br;var aF,aZ,bp,bh,a7,aL;var au;var a8,bl,bo,aH,a9;var a4;var bv,aK,bc;var aD="";aF="\n\r\t ".split("");aZ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$".split("");aL="0123456789".split("");bp="+ - * / % & ++ -- = += -= *= /= %= == === != !== > < >= <= >> << >>> >>>= >>= <<= && &= | || ! !! , : ? ^ ^= |= ::";bp+=" <%= <% %> <?= <? ?>";bp=bp.split(" ");a7="continue,try,throw,return,var,if,switch,case,default,for,while,break,function".split(",");aK={BlockStatement:"BlockStatement",Statement:"Statement",ObjectLiteral:"ObjectLiteral",ArrayLiteral:"ArrayLiteral",ForInitializer:"ForInitializer",Conditional:"Conditional",Expression:"Expression"};bv={TK_START_EXPR:aQ,TK_END_EXPR:aG,TK_START_BLOCK:at,TK_END_BLOCK:b,TK_WORD:ba,TK_SEMICOLON:aI,TK_STRING:bb,TK_EQUALS:az,TK_OPERATOR:a2,TK_COMMA:aU,TK_BLOCK_COMMENT:aW,TK_INLINE_COMMENT:av,TK_COMMENT:bk,TK_DOT:aS,TK_UNKNOWN:a6};function bn(e,f){return{mode:f,last_text:e?e.last_text:"",last_word:e?e.last_word:"",var_line:false,var_line_tainted:false,var_line_reindented:false,in_html_comment:false,multiline_array:false,if_block:false,do_block:false,do_while:false,in_case_statement:false,in_case:false,case_body:false,indentation_level:(e?e.indentation_level+((e.var_line&&e.var_line_reindented)?1:0):0),ternary_depth:0}}aX=aX?aX:{};bc={};if(aX.space_after_anon_function!==undefined&&aX.jslint_happy===undefined){aX.jslint_happy=aX.space_after_anon_function}if(aX.braces_on_own_line!==undefined){bc.brace_style=aX.braces_on_own_line?"expand":"collapse"}bc.brace_style=aX.brace_style?aX.brace_style:(bc.brace_style?bc.brace_style:"collapse");bc.indent_size=aX.indent_size?parseInt(aX.indent_size,10):4;bc.indent_char=aX.indent_char?aX.indent_char:" ";bc.preserve_newlines=(aX.preserve_newlines===undefined)?true:aX.preserve_newlines;bc.break_chained_methods=(aX.break_chained_methods===undefined)?false:aX.break_chained_methods;bc.max_preserve_newlines=(aX.max_preserve_newlines===undefined)?0:parseInt(aX.max_preserve_newlines,10);bc.jslint_happy=(aX.jslint_happy===undefined)?false:aX.jslint_happy;bc.keep_array_indentation=(aX.keep_array_indentation===undefined)?false:aX.keep_array_indentation;bc.space_before_conditional=(aX.space_before_conditional===undefined)?true:aX.space_before_conditional;bc.unescape_strings=(aX.unescape_strings===undefined)?false:aX.unescape_strings;bc.wrap_line_length=(aX.wrap_line_length===undefined)?0:parseInt(aX.wrap_line_length,10);aJ="";while(bc.indent_size>0){aJ+=bc.indent_char;bc.indent_size-=1}while(bs&&(bs.charAt(0)===" "||bs.charAt(0)==="\t")){aD+=bs.charAt(0);bs=bs.substring(1)}bu=bs;a4=bs.length;a="TK_START_BLOCK";a3="";aP=[];bo=false;aH=false;a9=[];br=[];bi(aK.BlockStatement);bh=0;this.beautify=function(){var g,h,e,f;while(true){g=a0();bf=g[0];a5=g[1];if(a5==="TK_EOF"){break}e=bc.keep_array_indentation&&ax(bd.mode);if(e){for(h=0;h<bl;h+=1){aR(true)}}else{a8=bl>0;if(bc.max_preserve_newlines&&bl>bc.max_preserve_newlines){bl=bc.max_preserve_newlines}if(bc.preserve_newlines){if(bl>1){aR();for(h=1;h<bl;h+=1){aR(true)}}}}bv[a5]();if(a5!=="TK_INLINE_COMMENT"&&a5!=="TK_COMMENT"&&a5!=="TK_UNKNOWN"){a3=bd.last_text;a=a5;bd.last_text=bf}}f=aD+aP.join("").replace(/[\r\n ]+$/,"");return f};function be(e){e=(e===undefined)?false:e;while(aP.length&&(aP[aP.length-1]===" "||aP[aP.length-1]===aJ||aP[aP.length-1]===aD||(e&&(aP[aP.length-1]==="\n"||aP[aP.length-1]==="\r")))){aP.pop()}}function bw(e){return e.replace(/^\s\s*|\s\s*$/,"")}function aN(f){f=f.replace(/\x0d/g,"");var g=[],e=f.indexOf("\n");while(e!==-1){g.push(f.substring(0,e));f=f.substring(e+1);e=f.indexOf("\n")}if(f.length){g.push(f)}return g}function aB(){return aP.length&&aP[aP.length-1]==="\n"}function aY(e,f){var g=e.length-1;if(g<0){g+=e.length}if(g>e.length-1){g=e.length-1}for(g++;g-->0;){if(g in e&&e[g]===f){return g}}return -1}function bj(g){g=(g===undefined)?false:g;if(bc.wrap_line_length&&!g){var e="";var h=0;var f=aY(aP,"\n")+1;if(f<aP.length){e=aP.slice(f).join("");h=e.length+