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

1 line
2.6 KiB
JavaScript

ace.define("ace/ext/static_highlight",["require","exports","module","ace/edit_session","ace/layer/text","ace/config","ace/lib/dom"],function(e,t,i){"use strict";var n=e("../edit_session").EditSession,s=e("../layer/text").Text,r=".ace_static_highlight {font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', 'Droid Sans Mono', monospace;font-size: 12px;}.ace_static_highlight .ace_gutter {width: 25px !important;float: left;text-align: right;padding: 0 3px 0 0;margin-right: 3px;position: static !important;}.ace_static_highlight .ace_line { clear: both; }.ace_static_highlight .ace_gutter-cell {-moz-user-select: -moz-none;-khtml-user-select: none;-webkit-user-select: none;user-select: none;}.ace_static_highlight .ace_gutter-cell:before {content: counter(ace_line, decimal);counter-increment: ace_line;}.ace_static_highlight {counter-reset: ace_line;}",o=e("../config"),a=e("../lib/dom"),c=function(e,t,i){var n=e.className.match(/lang-(\w+)/),s=t.mode||n&&"ace/mode/"+n[1];if(!s)return!1;var r=t.theme||"ace/theme/textmate",o="",l=[];if(e.firstElementChild)for(var h=0,d=0;d<e.childNodes.length;d++){var g=e.childNodes[d];3==g.nodeType?(h+=g.data.length,o+=g.data):l.push(h,g)}else o=a.getInnerText(e),t.trim&&(o=o.trim());c.render(o,s,r,t.firstLineNumber,!t.showGutter,function(t){a.importCssString(t.css,"ace_highlight"),e.innerHTML=t.html;for(var n=e.firstChild.firstChild,s=0;s<l.length;s+=2){var r=t.session.doc.indexToPosition(l[s]),o=l[s+1],c=n.children[r.row];c&&c.appendChild(o)}i&&i()})};c.render=function(e,t,i,s,r,a){function l(){var n=c.renderSync(e,t,i,s,r);return a?a(n):n}var h=1,d=n.prototype.$modes;"string"==typeof i&&(h++,o.loadModule(["theme",i],function(e){i=e,--h||l()}));var g;return t&&"object"==typeof t&&!t.getTokenizer&&(g=t,t=g.path),"string"==typeof t&&(h++,o.loadModule(["mode",t],function(e){(!d[t]||g)&&(d[t]=new e.Mode(g)),t=d[t],--h||l()})),--h||l()},c.renderSync=function(e,t,i,o,a){o=parseInt(o||1,10);var c=new n("");c.setUseWorker(!1),c.setMode(t);var l=new s(document.createElement("div"));l.setSession(c),l.config={characterWidth:10,lineHeight:20},c.setValue(e);for(var h=[],d=c.getLength(),g=0;d>g;g++)h.push("<div class='ace_line'>"),a||h.push("<span class='ace_gutter ace_gutter-cell' unselectable='on'></span>"),l.$renderLine(h,g,!0,!1),h.push("\n</div>");var u="<div class='"+i.cssClass+"'><div class='ace_static_highlight' style='counter-reset:ace_line "+(o-1)+"'>"+h.join("")+"</div></div>";return l.destroy(),{css:r+i.cssText,html:u,session:c}},i.exports=c,i.exports.highlight=c}),function(){ace.require(["ace/ext/static_highlight"],function(){})}();