Files
leanote/public/libs/ace/ck/ext-beautify-min.js
2015-03-31 14:27:26 +08:00

1 line
3.6 KiB
JavaScript

ace.define("ace/ext/beautify/php_rules",["require","exports","module","ace/token_iterator"],function(e,t,a){"use strict";var p=e("ace/token_iterator").TokenIterator;t.newLines=[{type:"support.php_tag",value:"<?php"},{type:"support.php_tag",value:"<?"},{type:"support.php_tag",value:"?>"},{type:"paren.lparen",value:"{",indent:!0},{type:"paren.rparen",breakBefore:!0,value:"}",indent:!1},{type:"paren.rparen",breakBefore:!0,value:"})",indent:!1,dontBreak:!0},{type:"comment"},{type:"text",value:";"},{type:"text",value:":",context:"php"},{type:"keyword",value:"case",indent:!0,dontBreak:!0},{type:"keyword",value:"default",indent:!0,dontBreak:!0},{type:"keyword",value:"break",indent:!1,dontBreak:!0},{type:"punctuation.doctype.end",value:">"},{type:"meta.tag.punctuation.end",value:">"},{type:"meta.tag.punctuation.begin",value:"<",blockTag:!0,indent:!0,dontBreak:!0},{type:"meta.tag.punctuation.begin",value:"</",indent:!1,breakBefore:!0,dontBreak:!0},{type:"punctuation.operator",value:";"}],t.spaces=[{type:"xml-pe",prepend:!0},{type:"entity.other.attribute-name",prepend:!0},{type:"storage.type",value:"var",append:!0},{type:"storage.type",value:"function",append:!0},{type:"keyword.operator",value:"="},{type:"keyword",value:"as",prepend:!0,append:!0},{type:"keyword",value:"function",append:!0},{type:"support.function",next:/[^\(]/,append:!0},{type:"keyword",value:"or",append:!0,prepend:!0},{type:"keyword",value:"and",append:!0,prepend:!0},{type:"keyword",value:"case",append:!0},{type:"keyword.operator",value:"||",append:!0,prepend:!0},{type:"keyword.operator",value:"&&",append:!0,prepend:!0}],t.singleTags=["!doctype","area","base","br","hr","input","img","link","meta"],t.transform=function(e,a,p){for(var n=e.getCurrentToken(),r=t.newLines,o=t.spaces,u=t.singleTags,l="",i=0,y=!1,d,s,v={},c,f={},k=!1,m="";null!==n;)if(console.log(n),n)if("support.php_tag"==n.type&&"?>"!=n.value?p="php":"support.php_tag"==n.type&&"?>"==n.value?p="html":"meta.tag.name.style"==n.type&&"css"!=p?p="css":"meta.tag.name.style"==n.type&&"css"==p?p="html":"meta.tag.name.script"==n.type&&"js"!=p?p="js":"meta.tag.name.script"==n.type&&"js"==p&&(p="html"),f=e.stepForward(),f&&0==f.type.indexOf("meta.tag.name")&&(c=f.value),"support.php_tag"==v.type&&"<?="==v.value&&(y=!0),"meta.tag.name"==n.type&&(n.value=n.value.toLowerCase()),"text"==n.type&&(n.value=n.value.trim()),n.value){m=n.value;for(var g in o)n.type==o[g].type&&(!o[g].value||n.value==o[g].value)&&f&&(!o[g].next||o[g].next.test(f.value))&&(o[g].prepend&&(m=" "+n.value),o[g].append&&(m+=" "));0==n.type.indexOf("meta.tag.name")&&(d=n.value),k=!1;for(g in r)if(!(n.type!=r[g].type||r[g].value&&n.value!=r[g].value||r[g].blockTag&&-1!==u.indexOf(c)||r[g].context&&r[g].context!==p)){if(r[g].indent===!1&&i--,r[g].breakBefore&&(!r[g].prev||r[g].prev.test(v.value)))for(l+="\n",k=!0,g=0;i>g;g++)l+=" ";break}if(y===!1)for(g in r)if(!(v.type!=r[g].type||r[g].value&&v.value!=r[g].value||r[g].blockTag&&-1!==u.indexOf(d)||r[g].context&&r[g].context!==p)){if(r[g].indent===!0&&i++,!r[g].dontBreak&&!k)for(l+="\n",g=0;i>g;g++)l+=" ";break}if(l+=m,"support.php_tag"==v.type&&"?>"==v.value&&(y=!1),s=d,v=n,n=f,null===n)break}else n=f;else n=e.stepForward();return l}}),ace.define("ace/ext/beautify",["require","exports","module","ace/token_iterator","ace/ext/beautify/php_rules"],function(e,t,a){"use strict";var p=e("ace/token_iterator").TokenIterator,n=e("./beautify/php_rules").transform;t.beautify=function(e){var t=new p(e,0,0),a=t.getCurrentToken(),r=e.$modeId.split("/").pop(),o=n(t,r);e.doc.setValue(o)},t.commands=[{name:"beautify",exec:function(e){t.beautify(e.session)},bindKey:"Ctrl-Shift-B"}]}),function(){ace.require(["ace/ext/beautify"],function(){})}();