diff options
author | libing wang <libingw@ca.ibm.com> | 2014-01-30 16:36:09 -0500 |
---|---|---|
committer | libing wang <libingw@ca.ibm.com> | 2014-01-30 16:36:09 -0500 |
commit | b5ebc0427058d7a2b156af0830be8c775fc1bd1d (patch) | |
tree | 3e786098f75a1aa81b7625ae90a5b56dfb6f951f | |
parent | 36688ecc3f94522a9a777ec005430f4f8df4eccc (diff) | |
download | org.eclipse.orion.client-origin/5.0M2_safe_branch.zip org.eclipse.orion.client-origin/5.0M2_safe_branch.tar.gz org.eclipse.orion.client-origin/5.0M2_safe_branch.tar.bz2 |
readonly file widget -- new build.5.0M2_safeorigin/5.0M2_safe_branch
3 files changed, 73 insertions, 58 deletions
diff --git a/bundles/org.eclipse.orion.client.ui/web/browse/builder/AlmondBuilder/build.bat b/bundles/org.eclipse.orion.client.ui/web/browse/builder/AlmondBuilder/build.bat index 2149cf8..635aea6 100644 --- a/bundles/org.eclipse.orion.client.ui/web/browse/builder/AlmondBuilder/build.bat +++ b/bundles/org.eclipse.orion.client.ui/web/browse/builder/AlmondBuilder/build.bat @@ -1,4 +1,3 @@ -npm install
rmdir /s /q temp
node ./copy/copy.js "D:/JazzIntegration/OrionSource/org.eclipse.orion.client/bundles"
xcopy /y .\temp\browse\builder\i18n.js .\temp\orion
diff --git a/bundles/org.eclipse.orion.client.ui/web/browse/built/built-browser.js b/bundles/org.eclipse.orion.client.ui/web/browse/built/built-browser.js index e23aa72..17f8212 100644 --- a/bundles/org.eclipse.orion.client.ui/web/browse/built/built-browser.js +++ b/bundles/org.eclipse.orion.client.ui/web/browse/built/built-browser.js @@ -6974,6 +6974,16 @@ define('orion/commands',['require', 'orion/util', 'orion/webui/littlelib', 'orio }
element.className = "dropdownMenuItem"; //$NON-NLS-0$
element.role = "menuitem"; //$NON-NLS-0$
+
+ if (command.tooltip) {
+ /* nested menu items may represent commands, hence require tooltips */
+ element.commandTooltip = new Tooltip.Tooltip({
+ node: element,
+ text: command.tooltip,
+ position: ["above", "below", "right", "left"] //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$ //$NON-NLS-0$
+ });
+ }
+
var li = document.createElement("li"); //$NON-NLS-0$
parent.appendChild(li);
li.appendChild(element); //$NON-NLS-0$
@@ -31568,6 +31578,12 @@ define("orion/editor/textStyler", [ //$NON-NLS-0$ }
};
var getCaptureStyles = function(result, captures, offset, styles) {
+ if (captures[0]) {
+ /* capture index 0 is the full result */
+ styles.push({start: offset, end: offset + result[0].length, style: captures[0].name});
+ return;
+ }
+
var stringIndex = 0;
for (var i = 1; i < result.length; i++) {
if (result[i]) {
@@ -33168,10 +33184,10 @@ define("orion/editor/stylers/text_html/syntax", ["orion/editor/stylers/shared/sy contentTypes: ["text/html"],
patterns: [
{
- begin: "(<!(?:doctype|DOCTYPE))",
- end: "(>)",
+ begin: "<!(?:doctype|DOCTYPE)",
+ end: ">",
captures: {
- 1: {name: "entity.name.tag.doctype.html"},
+ 0: {name: "entity.name.tag.doctype.html"},
},
name: "meta.tag.doctype.html",
}, {
@@ -33188,10 +33204,10 @@ define("orion/editor/stylers/text_html/syntax", ["orion/editor/stylers/shared/sy }
]
}, {
- begin: "(?i)(<script(?:\\s+language\\s*=\\s*(?:'javascript'|\"javascript\"))?\\s*>)",
- end: "(?i)(</script>)",
+ begin: "(?i)<script(?:\\s+language\\s*=\\s*(?:'javascript'|\"javascript\"))?\\s*>",
+ end: "(?i)</script>",
captures: {
- 1: {name: "entity.name.tag.html"}
+ 0: {name: "entity.name.tag.html"}
},
contentName: "source.js.embedded.html",
patterns: [
@@ -33200,10 +33216,10 @@ define("orion/editor/stylers/text_html/syntax", ["orion/editor/stylers/shared/sy }
]
}, {
- begin: "(?i)(<script(?:\\s+language\\s*=\\s*(?:'php'|\"php\"))?\\s*>)",
- end: "(?i)(</script>)",
+ begin: "(?i)<script(?:\\s+language\\s*=\\s*(?:'php'|\"php\"))?\\s*>",
+ end: "(?i)</script>",
captures: {
- 1: {name: "entity.name.tag.html"}
+ 0: {name: "entity.name.tag.html"}
},
contentName: "source.php.embedded.html",
patterns: [
@@ -33212,10 +33228,10 @@ define("orion/editor/stylers/text_html/syntax", ["orion/editor/stylers/shared/sy }
]
}, {
- begin: "(?i)(<\\?(?:=|php)?(?:\\s|$))",
- end: "(\\?>)",
+ begin: "(?i)<\\?(?:=|php)?(?:\\s|$)",
+ end: "\\?>",
captures: {
- 1: {name: "entity.name.tag.html"}
+ 0: {name: "entity.name.tag.html"}
},
contentName: "source.php.embedded.html",
patterns: [
@@ -33224,10 +33240,10 @@ define("orion/editor/stylers/text_html/syntax", ["orion/editor/stylers/shared/sy }
]
}, {
- begin: "(<%=?(?:\\s|$))",
- end: "(%>)",
+ begin: "<%=?(?:\\s|$)",
+ end: "%>",
captures: {
- 1: {name: "entity.name.tag.html"}
+ 0: {name: "entity.name.tag.html"}
},
contentName: "source.php.embedded.html",
patterns: [
@@ -33251,10 +33267,10 @@ define("orion/editor/stylers/text_html/syntax", ["orion/editor/stylers/shared/sy }
]
}, {
- begin: "(</?[A-Za-z0-9]+)",
- end: "(/?>)",
+ begin: "</?[A-Za-z0-9]+",
+ end: "/?>",
captures: {
- 1: {name: "entity.name.tag.html"},
+ 0: {name: "entity.name.tag.html"},
},
name: "meta.tag.html",
patterns: [
diff --git a/bundles/org.eclipse.orion.client.ui/web/browse/built/built-browser.min.js b/bundles/org.eclipse.orion.client.ui/web/browse/built/built-browser.min.js index f1c7402..a9b2799 100644 --- a/bundles/org.eclipse.orion.client.ui/web/browse/built/built-browser.min.js +++ b/bundles/org.eclipse.orion.client.ui/web/browse/built/built-browser.min.js @@ -886,8 +886,8 @@ q)),u({spriteClass:"commandSprite",imageClass:k},h,q),x&&(x.classList.add("comma k.selectNode(b);k=k.createContextualFragment(d);p.processTextNodes(k,{ItemText:q});b.appendChild(k);b=p.$(".checkedMenuItem",b.lastChild);b.checked=c;b.addEventListener("change",a,!1);return b},createCommandItem:function(b,q,c,d,a,k,r){var m,k=k||!q.name&&q.hasImage();if(q.hrefCallback)m=document.createElement("a"),m.id=d,k&&q.hasImage()?u(q,m,d):(m.className="commandLink",m.appendChild(document.createTextNode(q.name))),r=q.hrefCallback.call(c.handler,c),r.then?r.then(function(q){m.href=q}):m.href= r?r:"#";else{m=document.createElement("button");m.className="orionButton";k?q.hasImage()?(u(q,m,d),q.name&&m.setAttribute("aria-label",q.name)):(m.classList.add("commandButton"),m.classList.add("commandMissingImageButton"),m.appendChild(document.createTextNode(q.name))):(m.classList.add("commandButton"),d=document.createTextNode(q.name),m.appendChild(d));var e=r||q.callback;e&&(q.onClick=e,m.addEventListener("click",function(){e.call(c.handler,c)},!1))}"ul"===b.nodeName.toLowerCase()?(r=document.createElement("li"), b.appendChild(r),b=r):m.classList.add("commandMargins");b.appendChild(m);q.tooltip&&(m.commandTooltip=new h.Tooltip({node:m,text:q.tooltip,position:["above","below","right","left"]}));a&&(v[q.id]={keyBinding:a,command:q,invocation:c});return m},createCommandMenuItem:function(b,q,c,d,a){var k,r=b.dropdown;if(q.hrefCallback)k=document.createElement("a"),k.appendChild(document.createTextNode(q.name)),a=q.hrefCallback.call(c.handler,c),a.then?a.then(function(q){k.href=q}):k.href=a?a:"#",k.addEventListener("keydown", -function(q){(q.keyCode===p.KEY.ENTER||q.keyCode===p.KEY.SPACE)&&k.click()},!1);else{k=document.createElement("span");k.tabIndex=0;k.appendChild(document.createTextNode(q.name));var m=a||q.callback;m&&(q.onClick=m,k.addEventListener("click",function(){r.close(!0);m.call(c.handler,c)},!1),k.addEventListener("keydown",function(q){if(q.keyCode===p.KEY.ENTER||q.keyCode===p.KEY.SPACE)q.preventDefault(),k.click()},!1))}k.className="dropdownMenuItem";k.role="menuitem";a=document.createElement("li");b.appendChild(a); -a.appendChild(k);d&&(v[q.id]={keyBinding:d,command:q,invocation:c});return k},executeBinding:c,setKeyBindingProvider:function(b){s=b},localKeyBindings:v,CommandsProxy:x,getKeyBindings:k,processKey:m,_testMethodProcessKey:b}}); +function(q){(q.keyCode===p.KEY.ENTER||q.keyCode===p.KEY.SPACE)&&k.click()},!1);else{k=document.createElement("span");k.tabIndex=0;k.appendChild(document.createTextNode(q.name));var m=a||q.callback;m&&(q.onClick=m,k.addEventListener("click",function(){r.close(!0);m.call(c.handler,c)},!1),k.addEventListener("keydown",function(q){if(q.keyCode===p.KEY.ENTER||q.keyCode===p.KEY.SPACE)q.preventDefault(),k.click()},!1))}k.className="dropdownMenuItem";k.role="menuitem";q.tooltip&&(k.commandTooltip=new h.Tooltip({node:k, +text:q.tooltip,position:["above","below","right","left"]}));a=document.createElement("li");b.appendChild(a);a.appendChild(k);d&&(v[q.id]={keyBinding:d,command:q,invocation:c});return k},executeBinding:c,setKeyBindingProvider:function(b){s=b},localKeyBindings:v,CommandsProxy:x,getKeyBindings:k,processKey:m,_testMethodProcessKey:b}}); define("orion/explorers/explorer","i18n!orion/nls/messages require orion/webui/littlelib orion/webui/treetable orion/explorers/explorerNavHandler orion/commands".split(" "),function(g,n,p,a,l,f){var n={},e=function(d,a,c,b){this.registry=d;this.renderer=c;this.selection=a;this.commandService=b;this.renderer&&(this.renderer.explorer=this);this.myTree=null};e.prototype={destroy:function(){this._navHandler&&this._navHandler.destroy();this.model&&this.model.destroy();this.myTree&&this.myTree.destroy(); this.destroyed=!0},changedItem:function(d,a){this.myTree&&this.myTree.refresh.bind(this.myTree)(d,a,!0)},updateCommands:function(d){this.myTree&&this.myTree._renderer.updateCommands.bind(this.myTree._renderer)(d)},makeNewItemPlaceHolder:function(d,a,c,b){d=this.getRow(d);if(c)return d=d.childNodes[c],d.appendChild(document.createElement("br")),b=document.createElement("span"),b.id=a+"placeHolderRow",d.appendChild(b),{tempNode:b,refNode:b};if(d){var k=document.createElement("tr");k.id=a+"placeHolderRow"; c=document.createElement("td");c.id=a+"placeHolderCol";k.appendChild(c);b?(d.parentNode.insertBefore(k,d.nextSibling),d=parseInt(d.firstChild.style.paddingLeft),c.style.paddingLeft=this.myTree.getIndent()+d+"px"):d.appendChild(k);b=p.node(a+"placeHolderRow");d=p.node(a+"placeHolderCol");if(b&&d)return{tempNode:b,refNode:d}}return null},getRow:function(d){if(d=this.model.getId(d))return p.node(d)},collapseAll:function(){for(var d=this._navHandler.getTopLevelNodes(),a=0;a<d.length;a++)this.myTree.collapse(d[a])}, @@ -929,7 +929,7 @@ c.name),a.formatMessage(g["Creating ${0}"],c.name)):h.createFolder(d.Location,c. v);c.addEventListener("dragend",v,!1);v=function(b){c.classList.remove("dragOver");b.preventDefault();b.stopPropagation()};d&&(this._oldDragLeave&&c.removeEventListener("dragleave",this._oldDragLeave,!1),this._oldDragLeave=v);c.addEventListener("dragleave",v,!1);v=function(b){if(k)m=b.dataTransfer.dropEffect=(h.isMac?b.altKey:b.ctrlKey)?"copy":"move";else if(!h.isIE&&("all"===b.dataTransfer.effectAllowed||"uninitialized"===b.dataTransfer.effectAllowed||0<=b.dataTransfer.effectAllowed.indexOf("copy")))b.dataTransfer.dropEffect= "copy";c.classList.add("dragOver");p.stop(b)};d&&(this._oldDragEnter&&c.removeEventListener("dragenter",this._oldDragEnter,!1),this._oldDragEnter=v);c.addEventListener("dragenter",v,!1);v=function(b){if(k)m=b.dataTransfer.dropEffect=(h.isMac?b.altKey:b.ctrlKey)?"copy":"move";else if(!h.isIE&&("all"===b.dataTransfer.effectAllowed||"uninitialized"===b.dataTransfer.effectAllowed||0<=b.dataTransfer.effectAllowed.indexOf("copy")))b.dataTransfer.dropEffect="copy";p.stop(b)};d&&!this._oldDragOver&&(c.addEventListener("dragover", v,!1),this._oldDragOver=v);v=function(d){var q;c.classList.remove("dragOver");if(k){q=f.fileClient;for(var w=k,B;w;){if(w._item){B=w._item;break}w=w.parentNode}if(!B)return;var A=null;f.registry&&(A=f.registry.getService("orion.page.progress"));var h="copy"===m,w=h?q.copyFile:q.moveFile;(A?A.showWhile(w.apply(q,[B.Location,b.Location]),a.formatMessage(g[h?"Copying ${0}":"Moving ${0}"],B.Location)):w.apply(q,[B.Location,b.Location])).then(function(q){f.modelEventDispatcher.dispatchEvent({type:h?"copy": -"move",oldValue:B,newValue:q,parent:b})},function(b){A?A.setProgressResult(b):window.console.log(b)})}else if(d.dataTransfer.items&&0<d.dataTransfer.items.length)for(q=0;q<d.dataTransfer.items.length;q++)w=null,"function"===typeof d.dataTransfer.items[q].getAsEntry?w=d.dataTransfer.items[q].getAsEntry():"function"===typeof d.dataTransfer.items[q].webkitGetAsEntry&&(w=d.dataTransfer.items[q].webkitGetAsEntry()),w&&e(w,null,b,f,s,f.fileClient);else if(d.dataTransfer.files&&0<d.dataTransfer.files.length)for(q= +"move",oldValue:B,newValue:q,parent:b})},function(q){A?A.setProgressResult(q):window.console.log(q)})}else if(d.dataTransfer.items&&0<d.dataTransfer.items.length)for(q=0;q<d.dataTransfer.items.length;q++)w=null,"function"===typeof d.dataTransfer.items[q].getAsEntry?w=d.dataTransfer.items[q].getAsEntry():"function"===typeof d.dataTransfer.items[q].webkitGetAsEntry&&(w=d.dataTransfer.items[q].webkitGetAsEntry()),w&&e(w,null,b,f,s,f.fileClient);else if(d.dataTransfer.files&&0<d.dataTransfer.files.length)for(q= 0;q<d.dataTransfer.files.length;q++)w=d.dataTransfer.files[q],!w.length&&(!w.type||""===w.type)?f.registry&&f.registry.getService("orion.page.message").setProgressResult({Severity:"Error",Message:a.formatMessage(g["Did not drop ${0}. Folder drop is not supported in this browser."],w.name)}):l.isAtRoot(b.Location)?f.registry&&f.registry.getService("orion.page.message").setProgressResult({Severity:"Error",Message:g["You cannot copy files directly into the workspace. Create a folder first."]}):s(b, w,f,w.name.indexOf(".zip")===w.name.length-4&&window.confirm(a.formatMessage(g["Unzip ${0}?"],w.name)));p.stop(d)};d&&(this._oldDrop&&c.removeEventListener("drop",this._oldDrop,!1),this._oldDrop=v);c.addEventListener("drop",v,!1)}},createModel:function(){return new c(this.registry,this.treeRoot,this.fileClient,this.parentId,this.excludeFiles,this.excludeFolders)},changedItem:function(b,c){if(this.treeRoot&&this.treeRoot.Location===b.Location)return this.loadResourceList(this.treeRoot,c);var a=this, d=new n;b.children=null;this.model.getChildren(b,function(k){a.getNavHandler();a.myTree.refresh.bind(a.myTree)(b,k,c);d.resolve(k)});return d},showItem:function(b,c){var a=new n;if(!b||!this.model||!this.myTree||!this.myTree.showRoot&&b.Location===this.treeRoot.Location)return a.reject();var d=this.getRow(b);if(d)a.resolve(d._item||b);else return b.Parents&&0<b.Parents.length?(b.Parents[0].Parents=b.Parents.slice(1),this.expandItem(b.Parents[0],c).then(function(c){var a=this.getRow(b);return!a?this.changedItem(c, @@ -1584,38 +1584,38 @@ y(d,d.getText(this.start,this.end),this,this.start))}function a(a){this._styler= onMouseDown:function(a){f._onMouseDown(a)},onSelection:function(a){f._onSelection(a)}};c=b.getModel();c.getBaseModel&&(c=c.getBaseModel());c.addEventListener("Changed",this._listener.onChanged);b.addEventListener("MouseDown",this._listener.onMouseDown);b.addEventListener("Selection",this._listener.onSelection);b.addEventListener("Destroy",this._listener.onDestroy);b.addEventListener("LineStyle",this._listener.onLineStyle);d=c.getCharCount();this._rootBlock=new p({start:0,contentStart:0,end:d,contentEnd:d}, null,this,c);this._computeFolding(this._rootBlock.getBlocks());b.redrawLines()}var f={styleClass:"line_caret"},e=/$/,d=/\\(\d)/g,h=/(.*)(?:[\r\n]|$)/g,c={regex:/ /g,style:{styleClass:"punctuation separator space",unmergeable:!0}},b={regex:/\t/g,style:{styleClass:"punctuation separator tab",unmergeable:!0}},k=function(a,b,c,d){var e=c,f=a.lastIndex;h.lastIndex=c;var c=h.exec(b),g,k;a.lastIndex=0;if(c){k=c.index;for(g=b.charAt(k);0<=k&&"\n"!==g&&"\r"!==g;)k--,g=b.charAt(k);g=b.substring(k+1,c.index+ c[1].length);a.lastIndex=k=c.index-k-1}for(;c&&c.index<b.length;){var l;if(d){var m=a.lastIndex;a.test(g)&&(a.lastIndex=m,l=a.exec(g))}else l=a.exec(g);if(l)return l.index+=e,l.index-=k,a.lastIndex=f,l;k=0;e+=c[0].length;if(c=h.exec(b))g=c[1],a.lastIndex=0}a.lastIndex=f;return null},m=function(a,b,c,d){if(b=k(a.pattern.regex?a.pattern.regex:a.pattern.regexBegin,b,d,!0)){a.result=b;for(d=0;d<c.length;d++)if(b.index<c[d].result.index||b.index===c[d].result.index&&a.pattern.pattern.index<c[d].pattern.pattern.index){c.splice(d, -0,a);return}c.push(a)}},r=function(a,b,c,d){for(var e=0,f=1;f<a.length;f++)if(a[f]){var g=b[f];if(g){var h=c+e;d.push({start:h,end:h+a[f].length,style:g.name})}e+=a[f].length}},x=function(a,b,c){var d=a.start;b.forEach(function(b){d<=b.start&&c.push({start:d,end:b.start,style:a.style});c.push(b);d=b.end});d<a.end&&c.push({start:d,end:a.end,style:a.style})},u=function(a,b,c,d,f){if(c=c.getLinePatterns()){var g=[];c.forEach(function(b){var c=b.regex||b.regexBegin;c.oldLastIndex=c.lastIndex;c.lastIndex= -0;(c=c.exec(a))&&g.push({result:c,pattern:b})});g.sort(function(a,b){return a.result.index<b.result.index?-1:a.result.index>b.result.index?1:a.pattern.pattern.index<b.pattern.pattern.index?-1:1});for(var h=0;0<g.length;){var k=g[0];g.splice(0,1);if(!(k.result.index<h)){var l=k.result.index,n,p=[];if(k.pattern.regex){h=k.result;n=l+h[0].length;n={start:b+l,end:b+n,style:k.pattern.pattern.name,isWhitespace:k.pattern.isWhitespace};if(!f){k.pattern.pattern.captures&&r(h,k.pattern.pattern.captures,b+l, -p);p.sort(function(a,b){return a.start<b.start?-1:a.start>b.start?1:0});for(l=0;l<p.length-1;l++)if(p[l+1].start<p[l].end){var t={start:p[l+1].end,end:p[l].end,style:p[l].style};p[l].end=p[l+1].start;p.splice(l+2,0,t)}}x(n,p,d)}else k.pattern.regexEnd.lastIndex=k.result.index+k.result[0].length,h=k.pattern.regexEnd.exec(a),h||(e.lastIndex=0,h=e.exec(a)),n=h.index+h[0].length,d.push({start:b+l,end:b+n,style:k.pattern.pattern.name,isWhitespace:k.pattern.isWhitespace});h=h.index+h[0].length}m(k,a,g, -h)}c.forEach(function(a){a=a.regex||a.regexBegin;a.lastIndex=a.oldLastIndex})}},t=function(a,b,c,d){if(b.detectTasks()){var e=b.getAnnotationModel();if(e){var f=g.AnnotationType.ANNOTATION_TASK,h=[],k=[];d.forEach(function(a){for(var b=e.getAnnotations(a.start,a.end);b.hasNext();){var d=b.next();d.type===f&&k.push(d)}if(a.getLinePatterns().length&&a.pattern.pattern.name&&0===a.pattern.pattern.name.indexOf("comment")){b=[];u(c.getText(a.contentStart,a.end),a.contentStart,a,b,!0);for(a=0;a<b.length;a++)"meta.annotation.task.todo"=== -b[a].style&&h.push(g.AnnotationType.createAnnotation(f,b[a].start,b[a].end,c.getText(b[a].start,b[a].end)))}}.bind(this));e.replaceAnnotations(k,h)}}},y=function(a,b,c,f){var g=[];c.getBlockPatterns().forEach(function(a){var c=k(a.regexBegin,b,0);c&&g.push({result:c,pattern:a})}.bind(this));g.sort(function(a,b){return a.result.index<b.result.index?-1:a.result.index>b.result.index?1:a.pattern.pattern.index<b.pattern.pattern.index?-1:1});if(!g.length)return g;for(var h=0,l=[];0<g.length;){var n=g[0]; -g.splice(0,1);if(!(n.result.index<h)){var r=a.getLineAtOffset(f+n.result.index),x=a.getLine(r),y=[];u(x,a.getLineStart(r),c,y);r=f+n.result.index;for(x=0;x<y.length;x++)if(y[x].start===r){var h=n.result.index+n.result[0].length,I=null,H=n.pattern.regexEnd,J=H.toString();d.lastIndex=0;if(d.test(J)){d.lastIndex=0;for(var D=d.exec(J);D;)J=J.replace(D[0],n.result[D[1]]||""),D=d.exec(J);H=RegExp(J.substring(1,J.length-2),"g")}for(D=h;!I;){D=k(H,b,D);D||(e.lastIndex=0,D=e.exec(b));var J=[],O=new p({start:r, -end:f+D.index+D[0].length,contentStart:f+h,contentEnd:f+D.index},n.pattern,c.getStyler(),a,c);u(b.substring(h,D.index+D[0].length),h,O,J);if(!J.length||J[J.length-1].end<=D.index)I=O;D=D.index+D[0].length}l.push(I);h=I.end-f;break}x===y.length&&(h=n.result.index+1)}m(n,b,g,h)}t(f,c,a,l);return l};n.prototype={getPatterns:function(a){var b=[0],c={},d=RegExp((a?"string"===typeof a?a:a.qualifiedId:this._rootId)+"#[^#]+$"),e=[];this._patterns.forEach(function(a){d.test(a.qualifiedId)&&(a.include?e.push(a): -(a.index=b[0]++,c[a.id]=a))}.bind(this));e.forEach(function(a){this._processInclude(a,b,c)}.bind(this));var f=[];Object.keys(c).forEach(function(a){f.push(c[a])});return f},_addPatterns:function(a,b){for(var c=0;c<a.length;c++){var d=a[c];d.parentId=b;d.id||(d.id=this._UNNAMED+this._unnamedCounter++);d.qualifiedId=d.parentId+"#"+d.id;this._patterns.push(d);d.patterns&&!d.include&&this._addPatterns(d.patterns,d.qualifiedId)}},_processInclude:function(a,b,c){var d,e=a.include.indexOf("#");d=0===e?RegExp(a.parentId.substring(0, -a.parentId.indexOf("#"))+a.include+"$"):-1===e?RegExp(a.include+"#[^#]+$"):RegExp(a.include);var f=[];this._patterns.forEach(function(a){d.test(a.qualifiedId)&&(a.include?f.push(a):c[a.id]||(a.index=b[0]++,c[a.id]=a))}.bind(this));f.forEach(function(a){this._processInclude(a,b,c)}.bind(this))},_UNNAMED:"noId"};p.prototype={adjustEnd:function(a){this.end+=a;this.contentEnd+=a;this._subBlocks.forEach(function(b){b.adjustEnd(a)})},adjustStart:function(a){this.start+=a;this.contentStart+=a;this._subBlocks.forEach(function(b){b.adjustStart(a)})}, -computeStyle:function(a,b){if(!this.pattern||!(this.start<=b&&b<this.end))return null;var c={start:this.start,end:this.end,style:this.pattern.pattern.name};if(this.contentStart<=b&&b<this.contentEnd)return this.pattern.pattern.contentName?{start:this.contentStart,end:this.contentEnd,style:this.pattern.pattern.contentName}:c;var d,e,f,g;if(b<this.contentStart){e=this.pattern.pattern.beginCaptures||this.pattern.pattern.captures;if(!e)return c;d=this.pattern.regexBegin;f=a.getText(this.start,this.contentStart); -g=this.start}else{e=this.pattern.pattern.endCaptures||this.pattern.pattern.captures;if(!e)return c;d=this.pattern.regexEnd;f=a.getText(this.contentEnd,this.end);g=this.contentEnd}d.lastIndex=0;if(f=d.exec(f)){d=[];r(f,e,g,d);for(e=0;e<d.length;e++)if(d[e].start<=b&&b<d[e].end)return d[e]}return c},detectTasks:function(){return this._styler._getDetectTasks()},getAnnotationModel:function(){return this._styler._getAnnotationModel()},getBlockPatterns:function(){return this._blockPatterns},getBlocks:function(){return this._subBlocks}, -getEnclosurePatterns:function(){return this._enclosurePatterns},getLinePatterns:function(){return this._linePatterns},getParent:function(){return this._parent},getPatternManager:function(){return this._styler._getPatternManager()},getStyler:function(){return this._styler},isRenderingWhitespace:function(){return this._styler._isRenderingWhitespace()},_initPatterns:function(){var a=function(a){var b=/^\(\?i\)\s*/.exec(a);b&&(a=a.substring(b[0].length));return a};this.getPatternManager().getPatterns(this.pattern? -this.pattern.pattern:null).forEach(function(b){var c;if(b.match&&!b.begin&&!b.end){c="g";var d=a(b.match);d!==b.match&&(c+="i");c={regex:RegExp(d,c),pattern:b};this._linePatterns.push(c);if(b.name&&0===b.name.indexOf("punctuation.section")&&(-1!==b.name.indexOf(".begin")||-1!==b.name.indexOf(".end")))this._enclosurePatterns[b.name]=c}else if(!b.match&&b.begin&&b.end){c="g";d=a(b.begin);d!==b.begin&&(c+="i");var e="g",f=a(b.end);f!==b.end&&(e+="i");c={regexBegin:RegExp(d,c),regexEnd:RegExp(f,e),pattern:b}; -this._linePatterns.push(c);this._blockPatterns.push(c)}}.bind(this))}};a.prototype={getStyles:function(a){return this._styler.getStyles(a)}};l.prototype={destroy:function(){var a=this.view;if(a){var b=a.getModel();b.getBaseModel&&(b=b.getBaseModel());b.removeEventListener("Changed",this._listener.onChanged);a.removeEventListener("MouseDown",this._listener.onMouseDown);a.removeEventListener("Selection",this._listener.onSelection);a.removeEventListener("Destroy",this._listener.onDestroy);a.removeEventListener("LineStyle", -this._listener.onLineStyle);this.view=null}},getStyleAccessor:function(){return this._accessor},getStyles:function(a){var b=[],c=this.view.getModel();c.getBaseModel&&(c=c.getBaseModel());var d=this._findBlock(this._rootBlock,a),e=c.getLineAtOffset(a),f=c.getLine(e),g=[];u(f,c.getLineStart(e),d,g);for(e=0;e<g.length&&!(a<g[e].start);e++)if(g[e].start<=a&&a<g[e].end){b.push(g[e]);break}for(;d;)(g=d.computeStyle(c,a))&&b.splice(0,0,g),d=d.getParent();return b},setHighlightCaretLine:function(a){this.highlightCaretLine= -a},setWhitespacesVisible:function(a,b){this.whitespacesVisible!==a&&(this.whitespacesVisible=a,b&&this.view.redraw())},setTabsVisible:function(a){this.tabsVisible!==a&&(this.tabsVisible=a,this.setWhitespacesVisible(this.tabsVisible||this.spacesVisible,!1),this.view.redraw())},setSpacesVisible:function(a){this.spacesVisible!==a&&(this.spacesVisible=a,this.setWhitespacesVisible(this.tabsVisible||this.spacesVisible,!1),this.view.redraw())},setDetectHyperlinks:function(a){this.detectHyperlinks=a},setFoldingEnabled:function(a){this.foldingEnabled= -a},setDetectTasks:function(a){this.detectTasks=a},_binarySearch:function(a,b,c,d,e){var f;void 0===d&&(d=-1);void 0===e&&(e=a.length);for(;1<e-d;)if(f=Math.floor((e+d)/2),b<=a[f].start)e=f;else if(c&&b<a[f].end){e=f;break}else d=f;return e},_computeFolding:function(a){if(this.foldingEnabled){var b=this.view.getModel();if(b.getBaseModel){var c=this.annotationModel;if(c){c.removeAnnotations(g.AnnotationType.ANNOTATION_FOLDING);for(var d=[],e=b.getBaseModel(),f=0;f<a.length;f++){var h=a[f];(h=this._createFoldingAnnotation(b, -e,h.start,h.end))&&d.push(h)}c.replaceAnnotations(null,d)}}}},_createFoldingAnnotation:function(a,b,c,d){var e=b.getLineAtOffset(c),b=b.getLineAtOffset(d);return e===b?null:new (g.AnnotationType.getType(g.AnnotationType.ANNOTATION_FOLDING))(c,d,a)},_findBlock:function(a,b){var c=a.getBlocks();if(!c.length)return a;var d=this._binarySearch(c,b,!0);return d<c.length&&c[d].start<=b&&b<c[d].end?this._findBlock(c[d],b):a},_findBrackets:function(a,b,c,d,e,f){for(var g=[],h=[],k=e,l=c.getBlocks(),m=this._binarySearch(l, -e,!0);m<l.length&&!(l[m].start>=f);m++){var n=l[m].start,p=l[m].end;k<n&&(u(d.substring(k-e,n-e),k,c,h),h.forEach(function(c){0===c.style.indexOf(a.pattern.name)?g.push(c.start+1):0===c.style.indexOf(b.pattern.name)&&g.push(-(c.start+1))}),h=[]);k=p}k<f&&(u(d.substring(k-e,f-e),k,c,h),h.forEach(function(c){0===c.style.indexOf(a.pattern.name)?g.push(c.start+1):0===c.style.indexOf(b.pattern.name)&&g.push(-(c.start+1))}));return g},_findMatchingBracket:function(a,b,c){for(var d=a.getLineAtOffset(c), -e=a.getLineEnd(d),f=a.getText(c,e),g,h=b.getEnclosurePatterns(),l=Object.keys(h),m=0;m<l.length;m++){var n=h[l[m]],p=k(n.regex,f,0);if(p&&0===p.index){g=n;break}}if(!g)return-1;f=!1;-1!==g.pattern.name.indexOf(".begin")?(f=!0,m=g.pattern.name.replace(".begin",".end")):m=g.pattern.name.replace(".end",".begin");h=h[m];if(!h)return-1;l=a.getLine(d);n=a.getLineStart(d);e=this._findBrackets(g,h,b,l,n,e);for(m=0;m<e.length;m++)if(l=0<=e[m]?1:-1,e[m]*l-1===c){c=1;if(f){for(m++;m<e.length;m++)if(l=0<=e[m]? -1:-1,c+=l,0===c)return e[m]*l-1;d+=1;for(m=a.getLineCount();d<m;){l=a.getLine(d);n=a.getLineStart(d);e=a.getLineEnd(d);e=this._findBrackets(g,h,b,l,n,e);for(f=0;f<e.length;f++)if(l=0<=e[f]?1:-1,c+=l,0===c)return e[f]*l-1;d++}}else{for(m--;0<=m;m--)if(l=0<=e[m]?1:-1,c+=l,0===c)return e[m]*l-1;for(d-=1;0<=d;){l=a.getLine(d);n=a.getLineStart(d);e=a.getLineEnd(d);e=this._findBrackets(g,h,b,l,n,e);for(m=e.length-1;0<=m;m--)if(l=0<=e[m]?1:-1,c+=l,0===c)return e[m]*l-1;d--}}break}return-1},_getAnnotationModel:function(){return this.annotationModel}, -_getDetectTasks:function(){return this.detectTasks},_getLineStyle:function(a){if(this.highlightCaretLine){var b=this.view,c=b.getModel(),b=b.getSelection();if(b.start===b.end&&c.getLineAtOffset(b.start)===a)return f}return null},_getPatternManager:function(){return this.patternManager},_getStyles:function(a,b,c,d){b.getBaseModel&&(d=b.mapOffset(d));for(var e=d+c.length,f=[],g=d,h=a.getBlocks(),l=this._binarySearch(h,d,!0);l<h.length&&!(h[l].start>=e);l++){var m=h[l].start,n=h[l].end;g<m&&u(c.substring(g- -d,m-d),g,a,f);var p=Math.max(g,m);if(p===m){var t=k(h[l].pattern.regexBegin,c.substring(p-d),0);if(t){var x=h[l].pattern.pattern.beginCaptures||h[l].pattern.pattern.captures;x?r(t,x,p,f):f.push({start:p,end:p+t[0].length,style:h[l].pattern.pattern.name});p+=t[0].length}}var m=Math.min(e,n),y=[];if(m===n&&(g=c.substring(m-g-(h[l].end-h[l].contentEnd)),t=k(h[l].pattern.regexEnd,g,0)))(x=h[l].pattern.pattern.endCaptures||h[l].pattern.pattern.captures)?r(t,x,m-t[0].length,y):h[l].pattern.pattern.name&& -y.push({start:m-t[0].length,end:m,style:h[l].pattern.pattern.name}),m-=t[0].length;var g=this._getStyles(h[l],b,c.substring(p-d,m-d),p),O=h[l].pattern.pattern.contentName||h[l].pattern.pattern.name;if(O){var P=p;g.forEach(function(a){a.start-P&&f.push({start:P,end:a.start,style:O});f.push(a);P=a.end});m-P&&f.push({start:P,end:m,style:O})}else f=f.concat(g);f=f.concat(y);g=n}g<e&&u(c.substring(g-d,e-d),g,a,f);if(b.getBaseModel)for(a=0;a<f.length;a++)c=f[a].end-f[a].start,f[a].start=b.mapOffset(f[a].start, -!0),f[a].end=f[a].start+c;return f},_isRenderingWhitespace:function(){return this.whitespacesVisible&&(this.tabsVisible||this.spacesVisible)},_onDestroy:function(){this.destroy()},_onLineStyle:function(a){a.textView===this.view&&(a.style=this._getLineStyle(a.lineIndex));a.ranges=this._getStyles(this._rootBlock,a.textView.getModel(),a.lineText,a.lineStart);a.ranges.forEach(function(a){a.style&&(a.style={styleClass:a.style.replace(/\./g," ")})});this._isRenderingWhitespace()&&(this.spacesVisible&&this._spliceStyles(c, -a.ranges,a.lineText,a.lineStart),this.tabsVisible&&this._spliceStyles(b,a.ranges,a.lineText,a.lineStart))},_onSelection:function(a){var b=a.oldValue,c=a.newValue,d=this.view,a=d.getModel(),e;if(this.highlightCaretLine){var f=a.getLineAtOffset(b.start);e=a.getLineAtOffset(c.start);var h=c.start===c.end,b=b.start===b.end;f===e&&b&&h||(b&&d.redrawLines(f,f+1),(f!==e||!b)&&h&&d.redrawLines(e,e+1))}if(this.annotationModel){var b=this._bracketAnnotations,k,l;if(c.start===c.end&&0<(l=d.getCaretOffset()))l-= -1,a.getBaseModel&&(l=a.mapOffset(l),a=a.getBaseModel()),c=this._findBlock(this._rootBlock,l),a=this._findMatchingBracket(a,c,l),-1!==a&&(k=[g.AnnotationType.createAnnotation(g.AnnotationType.ANNOTATION_MATCHING_BRACKET,a,a+1),g.AnnotationType.createAnnotation(g.AnnotationType.ANNOTATION_CURRENT_BRACKET,l,l+1)]);this._bracketAnnotations=k;this.annotationModel.replaceAnnotations(b,k)}},_onMouseDown:function(a){if(2===a.clickCount){var b=this.view,c=b.getModel(),d=b.getOffsetAtLocation(a.x,a.y);if(0< -d){var e=d-1,f=c;c.getBaseModel&&(e=c.mapOffset(e),f=c.getBaseModel());var g=this._findBlock(this._rootBlock,e),e=this._findMatchingBracket(f,g,e);-1!==e&&(a.preventDefault(),a=e,c.getBaseModel&&(a=c.mapOffset(a,!0)),d>a&&(d--,a++),b.setSelection(a,d))}}},_onModelChanged:function(a){var b=a.start,c=a.removedCharCount,d=a.addedCharCount-c,e=this.view,a=e.getModel(),f=a.getBaseModel?a.getBaseModel():a,c=b+c,h=f.getCharCount(),k=this._rootBlock.getBlocks(),l=k.length,m=f.getLineStart(f.getLineAtOffset(b)), -n=this._binarySearch(k,m,!0),p=this._binarySearch(k,c,!1,n-1,l),r;n<l&&k[n].start<=m&&m<k[n].end?(r=k[n].start,r>b&&(r+=d)):r=n===l&&0<l&&h-d===k[l-1].end?k[l-1].start:m;var t;do p<l?(t=k[p].end,t>b&&(t+=d),p+=1):(p=l,t=h),m=f.getText(r,t),m=y(f,m,this._rootBlock,r);while(m.length&&k.length&&p<l&&m[m.length-1].pattern.pattern.id!==k[p-1].pattern.pattern.id);for(h=n;h<k.length;h++)l=k[h],l.start>b&&l.adjustStart(d),l.start>b&&l.adjustEnd(d);var u=p-n!==m.length;if(!u)for(h=0;h<m.length;h++){var l= -k[n+h],x=m[h];if(l.start!==x.start||l.end!==x.end||l.type!==x.type){u=!0;break}}h=[n,p-n].concat(m);Array.prototype.splice.apply(k,h);u&&(h=r,k=t,a!==f&&(h=a.mapOffset(h,!0),k=a.mapOffset(k,!0)),e.redrawRange(h,k));if(this.foldingEnabled&&f!==a&&this.annotationModel){e=this.annotationModel;l=e.getAnnotations(r,t);r=[];for(t=[];l.hasNext();)if(k=l.next(),k.type===g.AnnotationType.ANNOTATION_FOLDING){t.push(k);for(h=0;h<m.length&&!(k.start===m[h].start&&k.end===m[h].end);h++);h===m.length?(r.push(k), -k.expand()):(h=k.start,n=k.end,h>b&&(h-=d),n>b&&(n-=d),h<=b&&(b<n&&h<=c&&c<n)&&(h=f.getLineAtOffset(k.start),n=f.getLineAtOffset(k.end),h!==n?k.expanded||k.expand():e.removeAnnotation(k)))}b=[];for(h=0;h<m.length;h++){l=m[h];for(d=0;d<t.length&&!(t[d].start===l.start&&t[d].end===l.end);d++);d===t.length&&(k=this._createFoldingAnnotation(a,f,l.start,l.end))&&b.push(k)}e.replaceAnnotations(r,b)}},_spliceStyles:function(a,b,c,d){for(var e=a.regex,f=e.lastIndex=0,g=e.exec(c);g;){for(g=d+g.index;f<b.length&& -!(g<b[f].end);)f++;var h={start:g,end:g+1,style:a.style};if(f<b.length&&b[f].start<=g){var k={start:g+1,end:b[f].end,style:b[f].style};b[f].end=g;b.splice(f+1,0,k);b.splice(f+1,0,h);f+=2}else b.splice(f,0,h),f++;g=e.exec(c)}}};return{TextStyler:l}}); +0,a);return}c.push(a)}},r=function(a,b,c,d){if(b[0])d.push({start:c,end:c+a[0].length,style:b[0].name});else for(var e=0,f=1;f<a.length;f++)if(a[f]){var g=b[f];if(g){var h=c+e;d.push({start:h,end:h+a[f].length,style:g.name})}e+=a[f].length}},x=function(a,b,c){var d=a.start;b.forEach(function(b){d<=b.start&&c.push({start:d,end:b.start,style:a.style});c.push(b);d=b.end});d<a.end&&c.push({start:d,end:a.end,style:a.style})},u=function(a,b,c,d,f){if(c=c.getLinePatterns()){var g=[];c.forEach(function(b){var c= +b.regex||b.regexBegin;c.oldLastIndex=c.lastIndex;c.lastIndex=0;(c=c.exec(a))&&g.push({result:c,pattern:b})});g.sort(function(a,b){return a.result.index<b.result.index?-1:a.result.index>b.result.index?1:a.pattern.pattern.index<b.pattern.pattern.index?-1:1});for(var h=0;0<g.length;){var k=g[0];g.splice(0,1);if(!(k.result.index<h)){var l=k.result.index,n,p=[];if(k.pattern.regex){h=k.result;n=l+h[0].length;n={start:b+l,end:b+n,style:k.pattern.pattern.name,isWhitespace:k.pattern.isWhitespace};if(!f){k.pattern.pattern.captures&& +r(h,k.pattern.pattern.captures,b+l,p);p.sort(function(a,b){return a.start<b.start?-1:a.start>b.start?1:0});for(l=0;l<p.length-1;l++)if(p[l+1].start<p[l].end){var t={start:p[l+1].end,end:p[l].end,style:p[l].style};p[l].end=p[l+1].start;p.splice(l+2,0,t)}}x(n,p,d)}else k.pattern.regexEnd.lastIndex=k.result.index+k.result[0].length,h=k.pattern.regexEnd.exec(a),h||(e.lastIndex=0,h=e.exec(a)),n=h.index+h[0].length,d.push({start:b+l,end:b+n,style:k.pattern.pattern.name,isWhitespace:k.pattern.isWhitespace}); +h=h.index+h[0].length}m(k,a,g,h)}c.forEach(function(a){a=a.regex||a.regexBegin;a.lastIndex=a.oldLastIndex})}},t=function(a,b,c,d){if(b.detectTasks()){var e=b.getAnnotationModel();if(e){var f=g.AnnotationType.ANNOTATION_TASK,h=[],k=[];d.forEach(function(a){for(var b=e.getAnnotations(a.start,a.end);b.hasNext();){var d=b.next();d.type===f&&k.push(d)}if(a.getLinePatterns().length&&a.pattern.pattern.name&&0===a.pattern.pattern.name.indexOf("comment")){b=[];u(c.getText(a.contentStart,a.end),a.contentStart, +a,b,!0);for(a=0;a<b.length;a++)"meta.annotation.task.todo"===b[a].style&&h.push(g.AnnotationType.createAnnotation(f,b[a].start,b[a].end,c.getText(b[a].start,b[a].end)))}}.bind(this));e.replaceAnnotations(k,h)}}},y=function(a,b,c,f){var g=[];c.getBlockPatterns().forEach(function(a){var c=k(a.regexBegin,b,0);c&&g.push({result:c,pattern:a})}.bind(this));g.sort(function(a,b){return a.result.index<b.result.index?-1:a.result.index>b.result.index?1:a.pattern.pattern.index<b.pattern.pattern.index?-1:1}); +if(!g.length)return g;for(var h=0,l=[];0<g.length;){var n=g[0];g.splice(0,1);if(!(n.result.index<h)){var r=a.getLineAtOffset(f+n.result.index),x=a.getLine(r),y=[];u(x,a.getLineStart(r),c,y);r=f+n.result.index;for(x=0;x<y.length;x++)if(y[x].start===r){var h=n.result.index+n.result[0].length,I=null,H=n.pattern.regexEnd,J=H.toString();d.lastIndex=0;if(d.test(J)){d.lastIndex=0;for(var D=d.exec(J);D;)J=J.replace(D[0],n.result[D[1]]||""),D=d.exec(J);H=RegExp(J.substring(1,J.length-2),"g")}for(D=h;!I;){D= +k(H,b,D);D||(e.lastIndex=0,D=e.exec(b));var J=[],O=new p({start:r,end:f+D.index+D[0].length,contentStart:f+h,contentEnd:f+D.index},n.pattern,c.getStyler(),a,c);u(b.substring(h,D.index+D[0].length),h,O,J);if(!J.length||J[J.length-1].end<=D.index)I=O;D=D.index+D[0].length}l.push(I);h=I.end-f;break}x===y.length&&(h=n.result.index+1)}m(n,b,g,h)}t(f,c,a,l);return l};n.prototype={getPatterns:function(a){var b=[0],c={},d=RegExp((a?"string"===typeof a?a:a.qualifiedId:this._rootId)+"#[^#]+$"),e=[];this._patterns.forEach(function(a){d.test(a.qualifiedId)&& +(a.include?e.push(a):(a.index=b[0]++,c[a.id]=a))}.bind(this));e.forEach(function(a){this._processInclude(a,b,c)}.bind(this));var f=[];Object.keys(c).forEach(function(a){f.push(c[a])});return f},_addPatterns:function(a,b){for(var c=0;c<a.length;c++){var d=a[c];d.parentId=b;d.id||(d.id=this._UNNAMED+this._unnamedCounter++);d.qualifiedId=d.parentId+"#"+d.id;this._patterns.push(d);d.patterns&&!d.include&&this._addPatterns(d.patterns,d.qualifiedId)}},_processInclude:function(a,b,c){var d,e=a.include.indexOf("#"); +d=0===e?RegExp(a.parentId.substring(0,a.parentId.indexOf("#"))+a.include+"$"):-1===e?RegExp(a.include+"#[^#]+$"):RegExp(a.include);var f=[];this._patterns.forEach(function(a){d.test(a.qualifiedId)&&(a.include?f.push(a):c[a.id]||(a.index=b[0]++,c[a.id]=a))}.bind(this));f.forEach(function(a){this._processInclude(a,b,c)}.bind(this))},_UNNAMED:"noId"};p.prototype={adjustEnd:function(a){this.end+=a;this.contentEnd+=a;this._subBlocks.forEach(function(b){b.adjustEnd(a)})},adjustStart:function(a){this.start+= +a;this.contentStart+=a;this._subBlocks.forEach(function(b){b.adjustStart(a)})},computeStyle:function(a,b){if(!this.pattern||!(this.start<=b&&b<this.end))return null;var c={start:this.start,end:this.end,style:this.pattern.pattern.name};if(this.contentStart<=b&&b<this.contentEnd)return this.pattern.pattern.contentName?{start:this.contentStart,end:this.contentEnd,style:this.pattern.pattern.contentName}:c;var d,e,f,g;if(b<this.contentStart){e=this.pattern.pattern.beginCaptures||this.pattern.pattern.captures; +if(!e)return c;d=this.pattern.regexBegin;f=a.getText(this.start,this.contentStart);g=this.start}else{e=this.pattern.pattern.endCaptures||this.pattern.pattern.captures;if(!e)return c;d=this.pattern.regexEnd;f=a.getText(this.contentEnd,this.end);g=this.contentEnd}d.lastIndex=0;if(f=d.exec(f)){d=[];r(f,e,g,d);for(e=0;e<d.length;e++)if(d[e].start<=b&&b<d[e].end)return d[e]}return c},detectTasks:function(){return this._styler._getDetectTasks()},getAnnotationModel:function(){return this._styler._getAnnotationModel()}, +getBlockPatterns:function(){return this._blockPatterns},getBlocks:function(){return this._subBlocks},getEnclosurePatterns:function(){return this._enclosurePatterns},getLinePatterns:function(){return this._linePatterns},getParent:function(){return this._parent},getPatternManager:function(){return this._styler._getPatternManager()},getStyler:function(){return this._styler},isRenderingWhitespace:function(){return this._styler._isRenderingWhitespace()},_initPatterns:function(){var a=function(a){var b= +/^\(\?i\)\s*/.exec(a);b&&(a=a.substring(b[0].length));return a};this.getPatternManager().getPatterns(this.pattern?this.pattern.pattern:null).forEach(function(b){var c;if(b.match&&!b.begin&&!b.end){c="g";var d=a(b.match);d!==b.match&&(c+="i");c={regex:RegExp(d,c),pattern:b};this._linePatterns.push(c);if(b.name&&0===b.name.indexOf("punctuation.section")&&(-1!==b.name.indexOf(".begin")||-1!==b.name.indexOf(".end")))this._enclosurePatterns[b.name]=c}else if(!b.match&&b.begin&&b.end){c="g";d=a(b.begin); +d!==b.begin&&(c+="i");var e="g",f=a(b.end);f!==b.end&&(e+="i");c={regexBegin:RegExp(d,c),regexEnd:RegExp(f,e),pattern:b};this._linePatterns.push(c);this._blockPatterns.push(c)}}.bind(this))}};a.prototype={getStyles:function(a){return this._styler.getStyles(a)}};l.prototype={destroy:function(){var a=this.view;if(a){var b=a.getModel();b.getBaseModel&&(b=b.getBaseModel());b.removeEventListener("Changed",this._listener.onChanged);a.removeEventListener("MouseDown",this._listener.onMouseDown);a.removeEventListener("Selection", +this._listener.onSelection);a.removeEventListener("Destroy",this._listener.onDestroy);a.removeEventListener("LineStyle",this._listener.onLineStyle);this.view=null}},getStyleAccessor:function(){return this._accessor},getStyles:function(a){var b=[],c=this.view.getModel();c.getBaseModel&&(c=c.getBaseModel());var d=this._findBlock(this._rootBlock,a),e=c.getLineAtOffset(a),f=c.getLine(e),g=[];u(f,c.getLineStart(e),d,g);for(e=0;e<g.length&&!(a<g[e].start);e++)if(g[e].start<=a&&a<g[e].end){b.push(g[e]); +break}for(;d;)(g=d.computeStyle(c,a))&&b.splice(0,0,g),d=d.getParent();return b},setHighlightCaretLine:function(a){this.highlightCaretLine=a},setWhitespacesVisible:function(a,b){this.whitespacesVisible!==a&&(this.whitespacesVisible=a,b&&this.view.redraw())},setTabsVisible:function(a){this.tabsVisible!==a&&(this.tabsVisible=a,this.setWhitespacesVisible(this.tabsVisible||this.spacesVisible,!1),this.view.redraw())},setSpacesVisible:function(a){this.spacesVisible!==a&&(this.spacesVisible=a,this.setWhitespacesVisible(this.tabsVisible|| +this.spacesVisible,!1),this.view.redraw())},setDetectHyperlinks:function(a){this.detectHyperlinks=a},setFoldingEnabled:function(a){this.foldingEnabled=a},setDetectTasks:function(a){this.detectTasks=a},_binarySearch:function(a,b,c,d,e){var f;void 0===d&&(d=-1);void 0===e&&(e=a.length);for(;1<e-d;)if(f=Math.floor((e+d)/2),b<=a[f].start)e=f;else if(c&&b<a[f].end){e=f;break}else d=f;return e},_computeFolding:function(a){if(this.foldingEnabled){var b=this.view.getModel();if(b.getBaseModel){var c=this.annotationModel; +if(c){c.removeAnnotations(g.AnnotationType.ANNOTATION_FOLDING);for(var d=[],e=b.getBaseModel(),f=0;f<a.length;f++){var h=a[f];(h=this._createFoldingAnnotation(b,e,h.start,h.end))&&d.push(h)}c.replaceAnnotations(null,d)}}}},_createFoldingAnnotation:function(a,b,c,d){var e=b.getLineAtOffset(c),b=b.getLineAtOffset(d);return e===b?null:new (g.AnnotationType.getType(g.AnnotationType.ANNOTATION_FOLDING))(c,d,a)},_findBlock:function(a,b){var c=a.getBlocks();if(!c.length)return a;var d=this._binarySearch(c, +b,!0);return d<c.length&&c[d].start<=b&&b<c[d].end?this._findBlock(c[d],b):a},_findBrackets:function(a,b,c,d,e,f){for(var g=[],h=[],k=e,l=c.getBlocks(),m=this._binarySearch(l,e,!0);m<l.length&&!(l[m].start>=f);m++){var n=l[m].start,p=l[m].end;k<n&&(u(d.substring(k-e,n-e),k,c,h),h.forEach(function(c){0===c.style.indexOf(a.pattern.name)?g.push(c.start+1):0===c.style.indexOf(b.pattern.name)&&g.push(-(c.start+1))}),h=[]);k=p}k<f&&(u(d.substring(k-e,f-e),k,c,h),h.forEach(function(c){0===c.style.indexOf(a.pattern.name)? +g.push(c.start+1):0===c.style.indexOf(b.pattern.name)&&g.push(-(c.start+1))}));return g},_findMatchingBracket:function(a,b,c){for(var d=a.getLineAtOffset(c),e=a.getLineEnd(d),f=a.getText(c,e),g,h=b.getEnclosurePatterns(),l=Object.keys(h),m=0;m<l.length;m++){var n=h[l[m]],p=k(n.regex,f,0);if(p&&0===p.index){g=n;break}}if(!g)return-1;f=!1;-1!==g.pattern.name.indexOf(".begin")?(f=!0,m=g.pattern.name.replace(".begin",".end")):m=g.pattern.name.replace(".end",".begin");h=h[m];if(!h)return-1;l=a.getLine(d); +n=a.getLineStart(d);e=this._findBrackets(g,h,b,l,n,e);for(m=0;m<e.length;m++)if(l=0<=e[m]?1:-1,e[m]*l-1===c){c=1;if(f){for(m++;m<e.length;m++)if(l=0<=e[m]?1:-1,c+=l,0===c)return e[m]*l-1;d+=1;for(m=a.getLineCount();d<m;){l=a.getLine(d);n=a.getLineStart(d);e=a.getLineEnd(d);e=this._findBrackets(g,h,b,l,n,e);for(f=0;f<e.length;f++)if(l=0<=e[f]?1:-1,c+=l,0===c)return e[f]*l-1;d++}}else{for(m--;0<=m;m--)if(l=0<=e[m]?1:-1,c+=l,0===c)return e[m]*l-1;for(d-=1;0<=d;){l=a.getLine(d);n=a.getLineStart(d);e= +a.getLineEnd(d);e=this._findBrackets(g,h,b,l,n,e);for(m=e.length-1;0<=m;m--)if(l=0<=e[m]?1:-1,c+=l,0===c)return e[m]*l-1;d--}}break}return-1},_getAnnotationModel:function(){return this.annotationModel},_getDetectTasks:function(){return this.detectTasks},_getLineStyle:function(a){if(this.highlightCaretLine){var b=this.view,c=b.getModel(),b=b.getSelection();if(b.start===b.end&&c.getLineAtOffset(b.start)===a)return f}return null},_getPatternManager:function(){return this.patternManager},_getStyles:function(a, +b,c,d){b.getBaseModel&&(d=b.mapOffset(d));for(var e=d+c.length,f=[],g=d,h=a.getBlocks(),l=this._binarySearch(h,d,!0);l<h.length&&!(h[l].start>=e);l++){var m=h[l].start,n=h[l].end;g<m&&u(c.substring(g-d,m-d),g,a,f);var p=Math.max(g,m);if(p===m){var t=k(h[l].pattern.regexBegin,c.substring(p-d),0);if(t){var x=h[l].pattern.pattern.beginCaptures||h[l].pattern.pattern.captures;x?r(t,x,p,f):f.push({start:p,end:p+t[0].length,style:h[l].pattern.pattern.name});p+=t[0].length}}var m=Math.min(e,n),y=[];if(m=== +n&&(g=c.substring(m-g-(h[l].end-h[l].contentEnd)),t=k(h[l].pattern.regexEnd,g,0)))(x=h[l].pattern.pattern.endCaptures||h[l].pattern.pattern.captures)?r(t,x,m-t[0].length,y):h[l].pattern.pattern.name&&y.push({start:m-t[0].length,end:m,style:h[l].pattern.pattern.name}),m-=t[0].length;var g=this._getStyles(h[l],b,c.substring(p-d,m-d),p),O=h[l].pattern.pattern.contentName||h[l].pattern.pattern.name;if(O){var P=p;g.forEach(function(a){a.start-P&&f.push({start:P,end:a.start,style:O});f.push(a);P=a.end}); +m-P&&f.push({start:P,end:m,style:O})}else f=f.concat(g);f=f.concat(y);g=n}g<e&&u(c.substring(g-d,e-d),g,a,f);if(b.getBaseModel)for(a=0;a<f.length;a++)c=f[a].end-f[a].start,f[a].start=b.mapOffset(f[a].start,!0),f[a].end=f[a].start+c;return f},_isRenderingWhitespace:function(){return this.whitespacesVisible&&(this.tabsVisible||this.spacesVisible)},_onDestroy:function(){this.destroy()},_onLineStyle:function(a){a.textView===this.view&&(a.style=this._getLineStyle(a.lineIndex));a.ranges=this._getStyles(this._rootBlock, +a.textView.getModel(),a.lineText,a.lineStart);a.ranges.forEach(function(a){a.style&&(a.style={styleClass:a.style.replace(/\./g," ")})});this._isRenderingWhitespace()&&(this.spacesVisible&&this._spliceStyles(c,a.ranges,a.lineText,a.lineStart),this.tabsVisible&&this._spliceStyles(b,a.ranges,a.lineText,a.lineStart))},_onSelection:function(a){var b=a.oldValue,c=a.newValue,d=this.view,a=d.getModel(),e;if(this.highlightCaretLine){var f=a.getLineAtOffset(b.start);e=a.getLineAtOffset(c.start);var h=c.start=== +c.end,b=b.start===b.end;f===e&&b&&h||(b&&d.redrawLines(f,f+1),(f!==e||!b)&&h&&d.redrawLines(e,e+1))}if(this.annotationModel){var b=this._bracketAnnotations,k,l;if(c.start===c.end&&0<(l=d.getCaretOffset()))l-=1,a.getBaseModel&&(l=a.mapOffset(l),a=a.getBaseModel()),c=this._findBlock(this._rootBlock,l),a=this._findMatchingBracket(a,c,l),-1!==a&&(k=[g.AnnotationType.createAnnotation(g.AnnotationType.ANNOTATION_MATCHING_BRACKET,a,a+1),g.AnnotationType.createAnnotation(g.AnnotationType.ANNOTATION_CURRENT_BRACKET, +l,l+1)]);this._bracketAnnotations=k;this.annotationModel.replaceAnnotations(b,k)}},_onMouseDown:function(a){if(2===a.clickCount){var b=this.view,c=b.getModel(),d=b.getOffsetAtLocation(a.x,a.y);if(0<d){var e=d-1,f=c;c.getBaseModel&&(e=c.mapOffset(e),f=c.getBaseModel());var g=this._findBlock(this._rootBlock,e),e=this._findMatchingBracket(f,g,e);-1!==e&&(a.preventDefault(),a=e,c.getBaseModel&&(a=c.mapOffset(a,!0)),d>a&&(d--,a++),b.setSelection(a,d))}}},_onModelChanged:function(a){var b=a.start,c=a.removedCharCount, +d=a.addedCharCount-c,e=this.view,a=e.getModel(),f=a.getBaseModel?a.getBaseModel():a,c=b+c,h=f.getCharCount(),k=this._rootBlock.getBlocks(),l=k.length,m=f.getLineStart(f.getLineAtOffset(b)),n=this._binarySearch(k,m,!0),p=this._binarySearch(k,c,!1,n-1,l),r;n<l&&k[n].start<=m&&m<k[n].end?(r=k[n].start,r>b&&(r+=d)):r=n===l&&0<l&&h-d===k[l-1].end?k[l-1].start:m;var t;do p<l?(t=k[p].end,t>b&&(t+=d),p+=1):(p=l,t=h),m=f.getText(r,t),m=y(f,m,this._rootBlock,r);while(m.length&&k.length&&p<l&&m[m.length-1].pattern.pattern.id!== +k[p-1].pattern.pattern.id);for(h=n;h<k.length;h++)l=k[h],l.start>b&&l.adjustStart(d),l.start>b&&l.adjustEnd(d);var u=p-n!==m.length;if(!u)for(h=0;h<m.length;h++){var l=k[n+h],x=m[h];if(l.start!==x.start||l.end!==x.end||l.type!==x.type){u=!0;break}}h=[n,p-n].concat(m);Array.prototype.splice.apply(k,h);u&&(h=r,k=t,a!==f&&(h=a.mapOffset(h,!0),k=a.mapOffset(k,!0)),e.redrawRange(h,k));if(this.foldingEnabled&&f!==a&&this.annotationModel){e=this.annotationModel;l=e.getAnnotations(r,t);r=[];for(t=[];l.hasNext();)if(k= +l.next(),k.type===g.AnnotationType.ANNOTATION_FOLDING){t.push(k);for(h=0;h<m.length&&!(k.start===m[h].start&&k.end===m[h].end);h++);h===m.length?(r.push(k),k.expand()):(h=k.start,n=k.end,h>b&&(h-=d),n>b&&(n-=d),h<=b&&(b<n&&h<=c&&c<n)&&(h=f.getLineAtOffset(k.start),n=f.getLineAtOffset(k.end),h!==n?k.expanded||k.expand():e.removeAnnotation(k)))}b=[];for(h=0;h<m.length;h++){l=m[h];for(d=0;d<t.length&&!(t[d].start===l.start&&t[d].end===l.end);d++);d===t.length&&(k=this._createFoldingAnnotation(a,f,l.start, +l.end))&&b.push(k)}e.replaceAnnotations(r,b)}},_spliceStyles:function(a,b,c,d){for(var e=a.regex,f=e.lastIndex=0,g=e.exec(c);g;){for(g=d+g.index;f<b.length&&!(g<b[f].end);)f++;var h={start:g,end:g+1,style:a.style};if(f<b.length&&b[f].start<=g){var k={start:g+1,end:b[f].end,style:b[f].style};b[f].end=g;b.splice(f+1,0,k);b.splice(f+1,0,h);f+=2}else b.splice(f,0,h),f++;g=e.exec(c)}}};return{TextStyler:l}}); define("orion/editor/stylers/shared/syntax",[],function(){return{id:"orion.patterns",grammars:[{id:"orion.patterns",patterns:[{id:"brace_open",match:"{",name:"punctuation.section.block.begin"},{id:"brace_close",match:"}",name:"punctuation.section.block.end"},{id:"bracket_open",match:"\\[",name:"punctuation.section.bracket.begin"},{id:"bracket_close",match:"\\]",name:"punctuation.section.bracket.end"},{id:"parenthesis_open",match:"\\(",name:"punctuation.section.parens.begin"},{id:"parenthesis_close", match:"\\)",name:"punctuation.section.parens.end"},{id:"comment_singleline",begin:"//",end:".*",name:"comment.line.double-slash",patterns:[{match:"(\\b)(TODO)(\\b)(.*)",name:"meta.annotation.task.todo",captures:{2:{name:"keyword.other.documentation.task"},4:{name:"comment.line"}}}]},{id:"comment_multiline",begin:"/\\*",end:"\\*/",name:"comment.block",patterns:[{match:"@(?:(?!\\*/)\\S)*",name:"keyword.other.documentation.tag"},{match:"\\<\\S*\\>",name:"keyword.other.documentation.markup"},{match:"(\\b)(TODO)(\\b)(((?!\\*/).)*)", name:"meta.annotation.task.todo",captures:{2:{name:"keyword.other.documentation.task"},4:{name:"comment.block"}}}]},{id:"string_singleline",match:'"(?:\\\\.|[^"])*"?',name:"string.quoted.double"},{id:"string_singleQuote",match:"'(?:\\\\.|[^'])*'?",name:"string.quoted.single"},{id:"number_decimal",match:"\\b-?(?:\\.\\d+|\\d+\\.?\\d*)(?:[eE][+-]?\\d+)?\\b",name:"constant.numeric.number"},{id:"number_hex",match:"\\b0[xX][0-9A-Fa-f]+\\b",name:"constant.numeric.hex"}]}],keywords:[]}}); @@ -1627,10 +1627,10 @@ g.grammars;g.push({id:"orion.css",contentTypes:["text/css"],patterns:[{include:" define("orion/editor/stylers/text_x-php/syntax",["orion/editor/stylers/shared/syntax"],function(g){var n="abstract and array as break callable case catch class clone const continue declare default die do echo else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval exit extends false FALSE final finally for foreach function global goto if implements include include_once insteadof interface instanceof isset list namespace new null NULL or parent print private protected public require require_once return self static switch throw trait try true TRUE unset use var while xor yield __halt_compiler __CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__".split(" "),g= g.grammars;g.push({id:"orion.php",contentTypes:["text/x-php"],patterns:[{include:"orion.patterns"},{begin:"#",end:".*",name:"comment.line.number-sign.php",patterns:[{match:"(\\b)(TODO)(\\b)(.*)",name:"meta.annotation.task.todo",captures:{2:{name:"keyword.other.documentation.task"},4:{name:"comment.line"}}}]},{begin:"<<<(\\w+)$",end:"^\\1;$",name:"string.unquoted.heredoc.php"},{begin:"<<<'(\\w+)'$",end:"^\\1;$",name:"string.unquoted.heredoc.nowdoc.php"},{match:"\\b0[bB][01]+\\b",name:"constant.numeric.binary.php"}, {match:"\\b(?:"+n.join("|")+")\\b",name:"keyword.control.php"}]});return{id:"orion.php",grammars:g,keywords:n}}); -define("orion/editor/stylers/text_html/syntax",["orion/editor/stylers/shared/syntax","orion/editor/stylers/application_javascript/syntax","orion/editor/stylers/text_css/syntax","orion/editor/stylers/text_x-php/syntax"],function(g,n,p,a){g=g.grammars.concat(n.grammars).concat(p.grammars).concat(a.grammars);g.push({id:"orion.html",contentTypes:["text/html"],patterns:[{begin:"(<!(?:doctype|DOCTYPE))",end:"(>)",captures:{1:{name:"entity.name.tag.doctype.html"}},name:"meta.tag.doctype.html"},{begin:"(?i)(<style)([^>]*)(>)", -end:"(?i)(</style>)",captures:{1:{name:"entity.name.tag.html"},3:{name:"entity.name.tag.html"}},contentName:"source.css.embedded.html",patterns:[{include:"orion.css"}]},{begin:"(?i)(<script(?:\\s+language\\s*=\\s*(?:'javascript'|\"javascript\"))?\\s*>)",end:"(?i)(<\/script>)",captures:{1:{name:"entity.name.tag.html"}},contentName:"source.js.embedded.html",patterns:[{include:"orion.js"}]},{begin:"(?i)(<script(?:\\s+language\\s*=\\s*(?:'php'|\"php\"))?\\s*>)",end:"(?i)(<\/script>)",captures:{1:{name:"entity.name.tag.html"}}, -contentName:"source.php.embedded.html",patterns:[{include:"orion.php"}]},{begin:"(?i)(<\\?(?:=|php)?(?:\\s|$))",end:"(\\?>)",captures:{1:{name:"entity.name.tag.html"}},contentName:"source.php.embedded.html",patterns:[{include:"orion.php"}]},{begin:"(<%=?(?:\\s|$))",end:"(%>)",captures:{1:{name:"entity.name.tag.html"}},contentName:"source.php.embedded.html",patterns:[{include:"orion.php"}]},{id:"comment",begin:"<\!--",end:"--\>",name:"comment.block.html",patterns:[{match:"(\\b)(TODO)(\\b)(.*)",name:"meta.annotation.task.todo", -captures:{2:{name:"keyword.other.documentation.task"},4:{name:"comment.line"}}}]},{begin:"(</?[A-Za-z0-9]+)",end:"(/?>)",captures:{1:{name:"entity.name.tag.html"}},name:"meta.tag.html",patterns:[{include:"#comment"},{include:"orion.patterns#string"},{include:"orion.patterns#string_singleQuote"}]}]});return{id:g[g.length-1].id,grammars:g,keywords:[]}}); +define("orion/editor/stylers/text_html/syntax",["orion/editor/stylers/shared/syntax","orion/editor/stylers/application_javascript/syntax","orion/editor/stylers/text_css/syntax","orion/editor/stylers/text_x-php/syntax"],function(g,n,p,a){g=g.grammars.concat(n.grammars).concat(p.grammars).concat(a.grammars);g.push({id:"orion.html",contentTypes:["text/html"],patterns:[{begin:"<!(?:doctype|DOCTYPE)",end:">",captures:{"0":{name:"entity.name.tag.doctype.html"}},name:"meta.tag.doctype.html"},{begin:"(?i)(<style)([^>]*)(>)", +end:"(?i)(</style>)",captures:{1:{name:"entity.name.tag.html"},3:{name:"entity.name.tag.html"}},contentName:"source.css.embedded.html",patterns:[{include:"orion.css"}]},{begin:"(?i)<script(?:\\s+language\\s*=\\s*(?:'javascript'|\"javascript\"))?\\s*>",end:"(?i)<\/script>",captures:{"0":{name:"entity.name.tag.html"}},contentName:"source.js.embedded.html",patterns:[{include:"orion.js"}]},{begin:"(?i)<script(?:\\s+language\\s*=\\s*(?:'php'|\"php\"))?\\s*>",end:"(?i)<\/script>",captures:{"0":{name:"entity.name.tag.html"}}, +contentName:"source.php.embedded.html",patterns:[{include:"orion.php"}]},{begin:"(?i)<\\?(?:=|php)?(?:\\s|$)",end:"\\?>",captures:{"0":{name:"entity.name.tag.html"}},contentName:"source.php.embedded.html",patterns:[{include:"orion.php"}]},{begin:"<%=?(?:\\s|$)",end:"%>",captures:{"0":{name:"entity.name.tag.html"}},contentName:"source.php.embedded.html",patterns:[{include:"orion.php"}]},{id:"comment",begin:"<\!--",end:"--\>",name:"comment.block.html",patterns:[{match:"(\\b)(TODO)(\\b)(.*)",name:"meta.annotation.task.todo", +captures:{2:{name:"keyword.other.documentation.task"},4:{name:"comment.line"}}}]},{begin:"</?[A-Za-z0-9]+",end:"/?>",captures:{"0":{name:"entity.name.tag.html"}},name:"meta.tag.html",patterns:[{include:"#comment"},{include:"orion.patterns#string"},{include:"orion.patterns#string_singleQuote"}]}]});return{id:g[g.length-1].id,grammars:g,keywords:[]}}); define("orion/editor/stylers/text_x-java-source/syntax",["orion/editor/stylers/shared/syntax"],function(g){var n="abstract boolean break byte case catch char class continue default do double else extends false final finally float for if implements import instanceof int interface long native new null package private protected public return short static super switch synchronized this throw throws transient true try void volatile while".split(" "),g=g.grammars;g.push({id:"orion.java",contentTypes:["text/x-java-source"], patterns:[{include:"orion.patterns"},{match:"\\b(?:"+n.join("|")+")\\b",name:"keyword.control.java"},{id:"string_singleQuote"}]});return{id:g[g.length-1].id,grammars:g,keywords:n}}); define("orion/editor/stylers/application_json/syntax",["orion/editor/stylers/shared/syntax"],function(g){var n=["false","null","true"],g=g.grammars;g.push({id:"orion.json",contentTypes:["application/json"],patterns:[{include:"orion.patterns"},{match:"\\b(?:"+n.join("|")+")\\b",name:"keyword.control.json"},{id:"comment_singleline"},{id:"comment_multiline"}]});return{id:g[g.length-1].id,grammars:g,keywords:n}}); |