UNPKG

38.5 kBJavaScriptView Raw
1ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(require,exports,module){"use strict";var oop=require("../lib/oop"),TextHighlightRules=require("./text_highlight_rules").TextHighlightRules,XmlHighlightRules=function(normalize){var tagRegex="[_:a-zA-ZÀ-￿][-_:.a-zA-Z0-9À-￿]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+tagRegex+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:tagRegex},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+tagRegex+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"--\x3e",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+tagRegex+":)?"+tagRegex+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:tagRegex},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===XmlHighlightRules&&this.normalizeRules()};(function(){this.embedTagRules=function(HighlightRules,prefix,tag){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+tag+".tag-name.xml"],regex:"(<)("+tag+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:prefix+"start"}]}),this.$rules[tag+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(value,currentState,stack){return stack.splice(0),this.token}}],this.embedRules(HighlightRules,prefix,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+tag+".tag-name.xml"],regex:"(</)("+tag+"(?=\\s|>|$))",next:tag+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(TextHighlightRules.prototype),oop.inherits(XmlHighlightRules,TextHighlightRules),exports.XmlHighlightRules=XmlHighlightRules})),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],(function(require,exports,module){"use strict";var oop=require("../../lib/oop"),Behaviour=require("../behaviour").Behaviour,TokenIterator=require("../../token_iterator").TokenIterator;require("../../lib/lang");function is(token,type){return token&&token.type.lastIndexOf(type+".xml")>-1}var XmlBehaviour=function(){this.add("string_dquotes","insertion",(function(state,action,editor,session,text){if('"'==text||"'"==text){var quote=text,selected=session.doc.getTextRange(editor.getSelectionRange());if(""!==selected&&"'"!==selected&&'"'!=selected&&editor.getWrapBehavioursEnabled())return{text:quote+selected+quote,selection:!1};var cursor=editor.getCursorPosition(),rightChar=session.doc.getLine(cursor.row).substring(cursor.column,cursor.column+1),iterator=new TokenIterator(session,cursor.row,cursor.column),token=iterator.getCurrentToken();if(rightChar==quote&&(is(token,"attribute-value")||is(token,"string")))return{text:"",selection:[1,1]};if(token||(token=iterator.stepBackward()),!token)return;for(;is(token,"tag-whitespace")||is(token,"whitespace");)token=iterator.stepBackward();var rightSpace=!rightChar||rightChar.match(/\s/);if(is(token,"attribute-equals")&&(rightSpace||">"==rightChar)||is(token,"decl-attribute-equals")&&(rightSpace||"?"==rightChar))return{text:quote+quote,selection:[1,1]}}})),this.add("string_dquotes","deletion",(function(state,action,editor,session,range){var selected=session.doc.getTextRange(range);if(!range.isMultiLine()&&('"'==selected||"'"==selected)&&session.doc.getLine(range.start.row).substring(range.start.column+1,range.start.column+2)==selected)return range.end.column++,range})),this.add("autoclosing","insertion",(function(state,action,editor,session,text){if(">"==text){var position=editor.getSelectionRange().start,iterator=new TokenIterator(session,position.row,position.column),token=iterator.getCurrentToken()||iterator.stepBackward();if(!token||!(is(token,"tag-name")||is(token,"tag-whitespace")||is(token,"attribute-name")||is(token,"attribute-equals")||is(token,"attribute-value")))return;if(is(token,"reference.attribute-value"))return;if(is(token,"attribute-value")){var tokenEndColumn=iterator.getCurrentTokenColumn()+token.value.length;if(position.column<tokenEndColumn)return;if(position.column==tokenEndColumn){var nextToken=iterator.stepForward();if(nextToken&&is(nextToken,"attribute-value"))return;iterator.stepBackward()}}if(/^\s*>/.test(session.getLine(position.row).slice(position.column)))return;for(;!is(token,"tag-name");)if("<"==(token=iterator.stepBackward()).value){token=iterator.stepForward();break}var tokenRow=iterator.getCurrentTokenRow(),tokenColumn=iterator.getCurrentTokenColumn();if(is(iterator.stepBackward(),"end-tag-open"))return;var element=token.value;if(tokenRow==position.row&&(element=element.substring(0,position.column-tokenColumn)),this.voidElements.hasOwnProperty(element.toLowerCase()))return;return{text:"></"+element+">",selection:[1,1]}}})),this.add("autoindent","insertion",(function(state,action,editor,session,text){if("\n"==text){var cursor=editor.getCursorPosition(),line=session.getLine(cursor.row),iterator=new TokenIterator(session,cursor.row,cursor.column),token=iterator.getCurrentToken();if(token&&-1!==token.type.indexOf("tag-close")){if("/>"==token.value)return;for(;token&&-1===token.type.indexOf("tag-name");)token=iterator.stepBackward();if(!token)return;var tag=token.value,row=iterator.getCurrentTokenRow();if(!(token=iterator.stepBackward())||-1!==token.type.indexOf("end-tag"))return;if(this.voidElements&&!this.voidElements[tag]){var nextToken=session.getTokenAt(cursor.row,cursor.column+1),nextIndent=(line=session.getLine(row),this.$getIndent(line)),indent=nextIndent+session.getTabString();return nextToken&&"</"===nextToken.value?{text:"\n"+indent+"\n"+nextIndent,selection:[1,indent.length,1,indent.length]}:{text:"\n"+indent}}}}}))};oop.inherits(XmlBehaviour,Behaviour),exports.XmlBehaviour=XmlBehaviour})),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],(function(require,exports,module){"use strict";var oop=require("../../lib/oop"),Range=(require("../../lib/lang"),require("../../range").Range),BaseFoldMode=require("./fold_mode").FoldMode,TokenIterator=require("../../token_iterator").TokenIterator,FoldMode=exports.FoldMode=function(voidElements,optionalEndTags){BaseFoldMode.call(this),this.voidElements=voidElements||{},this.optionalEndTags=oop.mixin({},this.voidElements),optionalEndTags&&oop.mixin(this.optionalEndTags,optionalEndTags)};oop.inherits(FoldMode,BaseFoldMode);var Tag=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};function is(token,type){return token.type.lastIndexOf(type+".xml")>-1}(function(){this.getFoldWidget=function(session,foldStyle,row){var tag=this._getFirstTagInLine(session,row);return tag?tag.closing||!tag.tagName&&tag.selfClosing?"markbeginend"==foldStyle?"end":"":!tag.tagName||tag.selfClosing||this.voidElements.hasOwnProperty(tag.tagName.toLowerCase())||this._findEndTagInLine(session,row,tag.tagName,tag.end.column)?"":"start":this.getCommentFoldWidget(session,row)},this.getCommentFoldWidget=function(session,row){return/comment/.test(session.getState(row))&&/<!-/.test(session.getLine(row))?"start":""},this._getFirstTagInLine=function(session,row){for(var tokens=session.getTokens(row),tag=new Tag,i=0;i<tokens.length;i++){var token=tokens[i];if(is(token,"tag-open")){if(tag.end.column=tag.start.column+token.value.length,tag.closing=is(token,"end-tag-open"),!(token=tokens[++i]))return null;for(tag.tagName=token.value,tag.end.column+=token.value.length,i++;i<tokens.length;i++)if(token=tokens[i],tag.end.column+=token.value.length,is(token,"tag-close")){tag.selfClosing="/>"==token.value;break}return tag}if(is(token,"tag-close"))return tag.selfClosing="/>"==token.value,tag;tag.start.column+=token.value.length}return null},this._findEndTagInLine=function(session,row,tagName,startColumn){for(var tokens=session.getTokens(row),column=0,i=0;i<tokens.length;i++){var token=tokens[i];if(!((column+=token.value.length)<startColumn)&&is(token,"end-tag-open")&&(token=tokens[i+1])&&token.value==tagName)return!0}return!1},this._readTagForward=function(iterator){var token=iterator.getCurrentToken();if(!token)return null;var tag=new Tag;do{if(is(token,"tag-open"))tag.closing=is(token,"end-tag-open"),tag.start.row=iterator.getCurrentTokenRow(),tag.start.column=iterator.getCurrentTokenColumn();else if(is(token,"tag-name"))tag.tagName=token.value;else if(is(token,"tag-close"))return tag.selfClosing="/>"==token.value,tag.end.row=iterator.getCurrentTokenRow(),tag.end.column=iterator.getCurrentTokenColumn()+token.value.length,iterator.stepForward(),tag}while(token=iterator.stepForward());return null},this._readTagBackward=function(iterator){var token=iterator.getCurrentToken();if(!token)return null;var tag=new Tag;do{if(is(token,"tag-open"))return tag.closing=is(token,"end-tag-open"),tag.start.row=iterator.getCurrentTokenRow(),tag.start.column=iterator.getCurrentTokenColumn(),iterator.stepBackward(),tag;is(token,"tag-name")?tag.tagName=token.value:is(token,"tag-close")&&(tag.selfClosing="/>"==token.value,tag.end.row=iterator.getCurrentTokenRow(),tag.end.column=iterator.getCurrentTokenColumn()+token.value.length)}while(token=iterator.stepBackward());return null},this._pop=function(stack,tag){for(;stack.length;){var top=stack[stack.length-1];if(tag&&top.tagName!=tag.tagName){if(this.optionalEndTags.hasOwnProperty(top.tagName)){stack.pop();continue}return null}return stack.pop()}},this.getFoldWidgetRange=function(session,foldStyle,row){var firstTag=this._getFirstTagInLine(session,row);if(!firstTag)return this.getCommentFoldWidget(session,row)&&session.getCommentFoldRange(row,session.getLine(row).length);var tag,stack=[];if(firstTag.closing||firstTag.selfClosing){iterator=new TokenIterator(session,row,firstTag.end.column);for(var end={row,column:firstTag.start.column};tag=this._readTagBackward(iterator);){if(tag.selfClosing){if(stack.length)continue;return tag.start.column+=tag.tagName.length+2,tag.end.column-=2,Range.fromPoints(tag.start,tag.end)}if(tag.closing)stack.push(tag);else if(this._pop(stack,tag),0==stack.length)return tag.start.column+=tag.tagName.length+2,tag.start.row==tag.end.row&&tag.start.column<tag.end.column&&(tag.start.column=tag.end.column),Range.fromPoints(tag.start,end)}}else{var iterator=new TokenIterator(session,row,firstTag.start.column),start={row,column:firstTag.start.column+firstTag.tagName.length+2};for(firstTag.start.row==firstTag.end.row&&(start.column=firstTag.end.column);tag=this._readTagForward(iterator);){if(tag.selfClosing){if(stack.length)continue;return tag.start.column+=tag.tagName.length+2,tag.end.column-=2,Range.fromPoints(tag.start,tag.end)}if(tag.closing){if(this._pop(stack,tag),0==stack.length)return Range.fromPoints(start,tag.start)}else stack.push(tag)}}}}).call(FoldMode.prototype)})),ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml","ace/worker/worker_client"],(function(require,exports,module){"use strict";var oop=require("../lib/oop"),lang=require("../lib/lang"),TextMode=require("./text").Mode,XmlHighlightRules=require("./xml_highlight_rules").XmlHighlightRules,XmlBehaviour=require("./behaviour/xml").XmlBehaviour,XmlFoldMode=require("./folding/xml").FoldMode,WorkerClient=require("../worker/worker_client").WorkerClient,Mode=function(){this.HighlightRules=XmlHighlightRules,this.$behaviour=new XmlBehaviour,this.foldingRules=new XmlFoldMode};oop.inherits(Mode,TextMode),function(){this.voidElements=lang.arrayToMap([]),this.blockComment={start:"\x3c!--",end:"--\x3e"},this.createWorker=function(session){var worker=new WorkerClient(["ace"],"ace/mode/xml_worker","Worker");return worker.attachToDocument(session.getDocument()),worker.on("error",(function(e){session.setAnnotations(e.data)})),worker.on("terminate",(function(){session.clearAnnotations()})),worker},this.$id="ace/mode/xml"}.call(Mode.prototype),exports.Mode=Mode})),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(require,exports,module){"use strict";var oop=require("../lib/oop"),TextHighlightRules=require("./text_highlight_rules").TextHighlightRules,DocCommentHighlightRules=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},DocCommentHighlightRules.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};oop.inherits(DocCommentHighlightRules,TextHighlightRules),DocCommentHighlightRules.getTagRule=function(start){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},DocCommentHighlightRules.getStartRule=function(start){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:start}},DocCommentHighlightRules.getEndRule=function(start){return{token:"comment.doc",regex:"\\*\\/",next:start}},exports.DocCommentHighlightRules=DocCommentHighlightRules})),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],(function(require,exports,module){"use strict";var oop=require("../lib/oop"),DocCommentHighlightRules=require("./doc_comment_highlight_rules").DocCommentHighlightRules,TextHighlightRules=require("./text_highlight_rules").TextHighlightRules,identifierRe="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",JavaScriptHighlightRules=function(options){var keywordMapper=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),escapedRe="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[DocCommentHighlightRules.getStartRule("doc-start"),comments("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+identifierRe+")(\\.)(prototype)(\\.)("+identifierRe+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+identifierRe+")(\\.)("+identifierRe+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+identifierRe+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+identifierRe+")(\\.)("+identifierRe+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+identifierRe+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+identifierRe+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:keywordMapper,regex:identifierRe},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+identifierRe+")(\\.)("+identifierRe+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:identifierRe},{regex:"",token:"empty",next:"no_regex"}],start:[DocCommentHighlightRules.getStartRule("doc-start"),comments("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:identifierRe},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:escapedRe},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:escapedRe},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},options&&options.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(val,state,stack){if(this.next="{"==val?this.nextState:"","{"==val&&stack.length)stack.unshift("start",state);else if("}"==val&&stack.length&&(stack.shift(),this.next=stack.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==val?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:escapedRe},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),options&&0==options.jsx||JSX.call(this)),this.embedRules(DocCommentHighlightRules,"doc-",[DocCommentHighlightRules.getEndRule("no_regex")]),this.normalizeRules()};function JSX(){var tagRegex=identifierRe.replace("\\d","\\d\\-"),jsxTag={onMatch:function(val,state,stack){var offset="/"==val.charAt(1)?2:1;return 1==offset?(state!=this.nextState?stack.unshift(this.next,this.nextState,0):stack.unshift(this.next),stack[2]++):2==offset&&state==this.nextState&&(stack[1]--,(!stack[1]||stack[1]<0)&&(stack.shift(),stack.shift())),[{type:"meta.tag.punctuation."+(1==offset?"":"end-")+"tag-open.xml",value:val.slice(0,offset)},{type:"meta.tag.tag-name.xml",value:val.substr(offset)}]},regex:"</?"+tagRegex,next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(jsxTag);var jsxJsRule={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[jsxJsRule,jsxTag,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(value,currentState,stack){return currentState==stack[0]&&stack.shift(),2==value.length&&(stack[0]==this.nextState&&stack[1]--,(!stack[1]||stack[1]<0)&&stack.splice(0,2)),this.next=stack[0]||"start",[{type:this.token,value}]},nextState:"jsx"},jsxJsRule,comments("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:tagRegex},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},jsxTag],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function comments(next){return[{token:"comment",regex:/\/\*/,next:[DocCommentHighlightRules.getTagRule(),{token:"comment",regex:"\\*\\/",next:next||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[DocCommentHighlightRules.getTagRule(),{token:"comment",regex:"$|^",next:next||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}oop.inherits(JavaScriptHighlightRules,TextHighlightRules),exports.JavaScriptHighlightRules=JavaScriptHighlightRules})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(require,exports,module){"use strict";var Range=require("../range").Range,MatchingBraceOutdent=function(){};(function(){this.checkOutdent=function(line,input){return!!/^\s+$/.test(line)&&/^\s*\}/.test(input)},this.autoOutdent=function(doc,row){var match=doc.getLine(row).match(/^(\s*\})/);if(!match)return 0;var column=match[1].length,openBracePos=doc.findMatchingBracket({row,column});if(!openBracePos||openBracePos.row==row)return 0;var indent=this.$getIndent(doc.getLine(openBracePos.row));doc.replace(new Range(row,0,row,column-1),indent)},this.$getIndent=function(line){return line.match(/^\s*/)[0]}}).call(MatchingBraceOutdent.prototype),exports.MatchingBraceOutdent=MatchingBraceOutdent})),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(require,exports,module){"use strict";var oop=require("../../lib/oop"),Range=require("../../range").Range,BaseFoldMode=require("./fold_mode").FoldMode,FoldMode=exports.FoldMode=function(commentRegex){commentRegex&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+commentRegex.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+commentRegex.end)))};oop.inherits(FoldMode,BaseFoldMode),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(session,foldStyle,row){var line=session.getLine(row);if(this.singleLineBlockCommentRe.test(line)&&!this.startRegionRe.test(line)&&!this.tripleStarBlockCommentRe.test(line))return"";var fw=this._getFoldWidgetBase(session,foldStyle,row);return!fw&&this.startRegionRe.test(line)?"start":fw},this.getFoldWidgetRange=function(session,foldStyle,row,forceMultiline){var match,line=session.getLine(row);if(this.startRegionRe.test(line))return this.getCommentRegionBlock(session,line,row);if(match=line.match(this.foldingStartMarker)){var i=match.index;if(match[1])return this.openingBracketBlock(session,match[1],row,i);var range=session.getCommentFoldRange(row,i+match[0].length,1);return range&&!range.isMultiLine()&&(forceMultiline?range=this.getSectionRange(session,row):"all"!=foldStyle&&(range=null)),range}if("markbegin"!==foldStyle&&(match=line.match(this.foldingStopMarker))){i=match.index+match[0].length;return match[1]?this.closingBracketBlock(session,match[1],row,i):session.getCommentFoldRange(row,i,-1)}},this.getSectionRange=function(session,row){for(var line=session.getLine(row),startIndent=line.search(/\S/),startRow=row,startColumn=line.length,endRow=row+=1,maxRow=session.getLength();++row<maxRow;){var indent=(line=session.getLine(row)).search(/\S/);if(-1!==indent){if(startIndent>indent)break;var subRange=this.getFoldWidgetRange(session,"all",row);if(subRange){if(subRange.start.row<=startRow)break;if(subRange.isMultiLine())row=subRange.end.row;else if(startIndent==indent)break}endRow=row}}return new Range(startRow,startColumn,endRow,session.getLine(endRow).length)},this.getCommentRegionBlock=function(session,line,row){for(var startColumn=line.search(/\s*$/),maxRow=session.getLength(),startRow=row,re=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,depth=1;++row<maxRow;){line=session.getLine(row);var m=re.exec(line);if(m&&(m[1]?depth--:depth++,!depth))break}if(row>startRow)return new Range(startRow,startColumn,row,line.length)}}.call(FoldMode.prototype)})),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],(function(require,exports,module){"use strict";var oop=require("../lib/oop"),TextMode=require("./text").Mode,JavaScriptHighlightRules=require("./javascript_highlight_rules").JavaScriptHighlightRules,MatchingBraceOutdent=require("./matching_brace_outdent").MatchingBraceOutdent,WorkerClient=require("../worker/worker_client").WorkerClient,CstyleBehaviour=require("./behaviour/cstyle").CstyleBehaviour,CStyleFoldMode=require("./folding/cstyle").FoldMode,Mode=function(){this.HighlightRules=JavaScriptHighlightRules,this.$outdent=new MatchingBraceOutdent,this.$behaviour=new CstyleBehaviour,this.foldingRules=new CStyleFoldMode};oop.inherits(Mode,TextMode),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.getNextLineIndent=function(state,line,tab){var indent=this.$getIndent(line),tokenizedLine=this.getTokenizer().getLineTokens(line,state),tokens=tokenizedLine.tokens,endState=tokenizedLine.state;if(tokens.length&&"comment"==tokens[tokens.length-1].type)return indent;if("start"==state||"no_regex"==state)(match=line.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/))&&(indent+=tab);else if("doc-start"==state){if("start"==endState||"no_regex"==endState)return"";var match;(match=line.match(/^\s*(\/?)\*/))&&(match[1]&&(indent+=" "),indent+="* ")}return indent},this.checkOutdent=function(state,line,input){return this.$outdent.checkOutdent(line,input)},this.autoOutdent=function(state,doc,row){this.$outdent.autoOutdent(doc,row)},this.createWorker=function(session){var worker=new WorkerClient(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return worker.attachToDocument(session.getDocument()),worker.on("annotate",(function(results){session.setAnnotations(results.data)})),worker.on("terminate",(function(){session.clearAnnotations()})),worker},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}.call(Mode.prototype),exports.Mode=Mode})),ace.define("ace/mode/svg_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],(function(require,exports,module){"use strict";var oop=require("../lib/oop"),JavaScriptHighlightRules=require("./javascript_highlight_rules").JavaScriptHighlightRules,XmlHighlightRules=require("./xml_highlight_rules").XmlHighlightRules,SvgHighlightRules=function(){XmlHighlightRules.call(this),this.embedTagRules(JavaScriptHighlightRules,"js-","script"),this.normalizeRules()};oop.inherits(SvgHighlightRules,XmlHighlightRules),exports.SvgHighlightRules=SvgHighlightRules})),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],(function(require,exports,module){"use strict";var oop=require("../../lib/oop"),BaseFoldMode=require("./fold_mode").FoldMode,FoldMode=exports.FoldMode=function(defaultMode,subModes){this.defaultMode=defaultMode,this.subModes=subModes};oop.inherits(FoldMode,BaseFoldMode),function(){this.$getMode=function(state){for(var key in"string"!=typeof state&&(state=state[0]),this.subModes)if(0===state.indexOf(key))return this.subModes[key];return null},this.$tryMode=function(state,session,foldStyle,row){var mode=this.$getMode(state);return mode?mode.getFoldWidget(session,foldStyle,row):""},this.getFoldWidget=function(session,foldStyle,row){return this.$tryMode(session.getState(row-1),session,foldStyle,row)||this.$tryMode(session.getState(row),session,foldStyle,row)||this.defaultMode.getFoldWidget(session,foldStyle,row)},this.getFoldWidgetRange=function(session,foldStyle,row){var mode=this.$getMode(session.getState(row-1));return mode&&mode.getFoldWidget(session,foldStyle,row)||(mode=this.$getMode(session.getState(row))),mode&&mode.getFoldWidget(session,foldStyle,row)||(mode=this.defaultMode),mode.getFoldWidgetRange(session,foldStyle,row)}}.call(FoldMode.prototype)})),ace.define("ace/mode/svg",["require","exports","module","ace/lib/oop","ace/mode/xml","ace/mode/javascript","ace/mode/svg_highlight_rules","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],(function(require,exports,module){"use strict";var oop=require("../lib/oop"),XmlMode=require("./xml").Mode,JavaScriptMode=require("./javascript").Mode,SvgHighlightRules=require("./svg_highlight_rules").SvgHighlightRules,MixedFoldMode=require("./folding/mixed").FoldMode,XmlFoldMode=require("./folding/xml").FoldMode,CStyleFoldMode=require("./folding/cstyle").FoldMode,Mode=function(){XmlMode.call(this),this.HighlightRules=SvgHighlightRules,this.createModeDelegates({"js-":JavaScriptMode}),this.foldingRules=new MixedFoldMode(new XmlFoldMode,{"js-":new CStyleFoldMode})};oop.inherits(Mode,XmlMode),function(){this.getNextLineIndent=function(state,line,tab){return this.$getIndent(line)},this.$id="ace/mode/svg"}.call(Mode.prototype),exports.Mode=Mode})),ace.require(["ace/mode/svg"],(function(m){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=m)}));
\No newline at end of file