UNPKG

ace-builds

Version:
8 lines (7 loc) 14.1 kB
define("ace/mode/vbscript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e=this.createKeywordMapper({"keyword.control.asp":"If|Then|Else|ElseIf|End|While|Wend|For|To|Each|Case|Select|Return|Continue|Do|Until|Loop|Next|With|Exit|Function|Property|Type|Enum|Sub|IIf|Class","storage.type.asp":"Dim|Call|Const|Redim|Set|Let|Get|New|Randomize|Option|Explicit|Preserve|Erase|Execute|ExecuteGlobal","storage.modifier.asp":"Private|Public|Default","keyword.operator.asp":"Mod|And|Not|Or|Xor|As|Eqv|Imp|Is","constant.language.asp":"Empty|False|Nothing|Null|True","variable.language.vb.asp":"Me","support.class.vb.asp":"RegExp","support.class.asp":"Application|ObjectContext|Request|Response|Server|Session","support.class.collection.asp":"Contents|StaticObjects|ClientCertificate|Cookies|Form|QueryString|ServerVariables","support.constant.asp":"TotalBytes|Buffer|CacheControl|Charset|ContentType|Expires|ExpiresAbsolute|IsClientConnected|PICS|Status|ScriptTimeout|CodePage|LCID|SessionID|Timeout","support.function.asp":"Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|Flush|Redirect|Write|CreateObject|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex","support.function.event.asp":"Application_OnEnd|Application_OnStart|OnTransactionAbort|OnTransactionCommit|Session_OnEnd|Session_OnStart","support.function.vb.asp":"Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CreateObject|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exists|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetObject|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsArray|IsDate|IsEmpty|IsNull|IsNumeric|IsObject|Item|Items|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|LTrim|RTrim|Trim|Maths|Mid|Minute|Month|MonthName|MsgBox|Now|Oct|Remove|RemoveAll|Replace|RGB|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Split|Sqr|StrComp|String|StrReverse|Tan|Time|Timer|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year|AscB|AscW|ChrB|ChrW|InStrB|LeftB|LenB|MidB|RightB|Abs|GetUILanguage","support.type.vb.asp":"vbTrue|vbFalse|vbCr|vbCrLf|vbFormFeed|vbLf|vbNewLine|vbNullChar|vbNullString|vbTab|vbVerticalTab|vbBinaryCompare|vbTextCompare|vbSunday|vbMonday|vbTuesday|vbWednesday|vbThursday|vbFriday|vbSaturday|vbUseSystemDayOfWeek|vbFirstJan1|vbFirstFourDays|vbFirstFullWeek|vbGeneralDate|vbLongDate|vbShortDate|vbLongTime|vbShortTime|vbObjectError|vbEmpty|vbNull|vbInteger|vbLong|vbSingle|vbDouble|vbCurrency|vbDate|vbString|vbObject|vbError|vbBoolean|vbVariant|vbDataObject|vbDecimal|vbByte|vbArray|vbOKOnly|vbOKCancel|vbAbortRetryIgnore|vbYesNoCancel|vbYesNo|vbRetryCancel|vbCritical|vbQuestion|vbExclamation|vbInformation|vbDefaultButton1|vbDefaultButton2|vbDefaultButton3|vbDefaultButton4|vbApplicationModal|vbSystemModal|vbOK|vbCancel|vbAbort|vbRetry|vbIgnore|vbYes|vbNo|vbUseDefault"},"identifier",!0);this.$rules={start:[{token:["meta.ending-space"],regex:"$"},{token:[null],regex:"^(?=\\t)",next:"state_3"},{token:[null],regex:"^(?= )",next:"state_4"},{token:["text","storage.type.function.asp","text","entity.name.function.asp","text","punctuation.definition.parameters.asp","variable.parameter.function.asp","punctuation.definition.parameters.asp"],regex:"^(\\s*)(Function|Sub)(\\s+)([a-zA-Z_]\\w*)(\\s*)(\\()([^)]*)(\\))"},{token:"punctuation.definition.comment.asp",regex:"'|REM(?=\\s|$)",next:"comment",caseInsensitive:!0},{token:"storage.type.asp",regex:"On\\s+Error\\s+(?:Resume\\s+Next|GoTo)\\b",caseInsensitive:!0},{token:"punctuation.definition.string.begin.asp",regex:'"',next:"string"},{token:["punctuation.definition.variable.asp"],regex:"(\\$)[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b\\s*"},{token:"constant.numeric.asp",regex:"-?\\b(?:(?:0(?:x|X)[0-9a-fA-F]*)|(?:(?:[0-9]+\\.?[0-9]*)|(?:\\.[0-9]+))(?:(?:e|E)(?:\\+|-)?[0-9]+)?)(?:L|l|UL|ul|u|U|F|f)?\\b"},{regex:"\\w+",token:e},{token:["entity.name.function.asp"],regex:"(?:(\\b[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b)(?=\\(\\)?))"},{token:["keyword.operator.asp"],regex:"\\-|\\+|\\*|\\/|\\>|\\<|\\=|\\&|\\\\|\\^"}],state_3:[{token:["meta.odd-tab.tabs","meta.even-tab.tabs"],regex:"(\\t)(\\t)?"},{token:"meta.leading-space",regex:"(?=[^\\t])",next:"start"},{token:"meta.leading-space",regex:".",next:"state_3"}],state_4:[{token:["meta.odd-tab.spaces","meta.even-tab.spaces"],regex:"( )( )?"},{token:"meta.leading-space",regex:"(?=[^ ])",next:"start"},{defaultToken:"meta.leading-space"}],comment:[{token:"comment.line.apostrophe.asp",regex:"$",next:"start"},{defaultToken:"comment.line.apostrophe.asp"}],string:[{token:"constant.character.escape.apostrophe.asp",regex:'""'},{token:"string.quoted.double.asp",regex:'"',next:"start"},{defaultToken:"string.quoted.double.asp"}]}};r.inherits(s,i),t.VBScriptHighlightRules=s}),define("ace/mode/folding/vbscript",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=e("../../token_iterator").TokenIterator,u=t.FoldMode=function(){};r.inherits(u,i),function(){this.indentKeywords={"class":1,"function":1,sub:1,"if":1,select:1,"do":1,"for":1,"while":1,"with":1,property:1,"else":1,elseif:1,end:-1,loop:-1,next:-1,wend:-1,exit:0,until:0},this.foldingStartMarker=/(?:\s|^)(class|function|sub|if|select|do|for|while|with|property|else|elseif)\b/i,this.foldingStopMarker=/\b(end|loop|next|wend)\b/i,this.getFoldWidgetRange=function(e,t,n){var r=e.getLine(n),i=this.foldingStartMarker.test(r),s=this.foldingStopMarker.test(r);if(i||s){var o=s?this.foldingStopMarker.exec(r):this.foldingStartMarker.exec(r),u=o&&o[1].toLowerCase();if(u){var a=e.getTokenAt(n,o.index+2).type;if(a==="keyword.control.asp"||a==="storage.type.function.asp")return this.vbsBlock(e,n,o.index+2)}}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=this.foldingStartMarker.test(r),s=this.foldingStopMarker.test(r);if(/(?:\s*|^)Exit\s+(Do|For|Sub|Function|Property)\b/i.test(r))return"";if(i&&!s){var o=this.foldingStartMarker.exec(r),u=o&&o[1].toLowerCase();if(u){var a=e.getTokenAt(n,o.index+2).type;if(a=="keyword.control.asp"||a=="storage.type.function.asp")return u=="if"&&!/then\s*('|$)/i.test(r)?"":"start"}}return""},this.vbsBlock=function(e,t,n,r){var i=new o(e,t,n),u={"class":1,"function":1,sub:1,"if":1,select:1,"with":1,property:1,"else":1,elseif:1},a=i.getCurrentToken();if(!a||a.type!="keyword.control.asp"&&a.type!="storage.type.function.asp")return;var f=a.value.toLowerCase(),l=a.value.toLowerCase(),c=i.getCurrentTokenRange(),h=this.$isDoubleKeyword(a,i);if(h==="ignore")return;var p=null;h&&(c=h.range,p=h.position,h.position==="second"&&(l=h.keyword,f=l));var d=[l],v=this.indentKeywords[l];if(!v)return;p==="first"&&v===1?(i.stepForward(),i.stepForward()):p==="second"&&v===-1&&(i.stepBackward(),i.stepBackward());switch(l){case"property":case"sub":case"function":case"if":case"select":case"do":case"for":case"class":case"while":case"with":var m=e.getLine(t),g=/^\s*If\s+.*\s+Then(?!')\s+(?!')\S/i.test(m);if(g)return;var y=new RegExp("(?:^|\\s)"+l,"i"),b=/^\s*End\s(If|Sub|Select|Function|Class|With|Property)\s*/i.test(m);if(!y.test(m)&&!b)return;if(b){var r=i.getCurrentTokenRange();i.step=i.stepBackward,i.step(),i.step(),a=i.getCurrentToken(),a&&(l=a.value.toLowerCase(),l=="end"&&(c=i.getCurrentTokenRange(),c=new s(c.start.row,c.start.column,r.start.row,r.end.column))),v=-1}break;case"end":var w=i.getCurrentTokenPosition();c=i.getCurrentTokenRange(),i.step=i.stepForward,i.step(),i.step(),a=i.getCurrentToken();if(a){l=a.value.toLowerCase();if(l in u){f=l;var E=i.getCurrentTokenPosition(),S=E.column+l.length;c=new s(w.row,w.column,E.row,S)}}i.step=i.stepBackward,i.step(),i.step()}var x=v===-1?e.getLine(t-1).length:e.getLine(t).length,T=t,N=[];N.push(c),i.step=v===-1?i.stepBackward:i.stepForward;while(a=i.step()){var C=null,k=!1;if(a.type!="keyword.control.asp"&&a.type!="storage.type.function.asp")continue;l=a.value.toLowerCase();var L=v*this.indentKeywords[l];switch(l){case"property":case"sub":case"function":case"if":case"select":case"do":case"for":case"class":case"while":case"with":case"until":case"exit":var m=e.getLine(i.getCurrentTokenRow()),g=/^\s*If\s+.*\s+Then(?!')\s+(?!')\S/i.test(m);g&&(L=0,k=!0);var y=new RegExp("^\\s* end\\s+"+l,"i");y.test(m)&&(L=0,k=!0);var A=this.$isDoubleKeyword(a,i);if(A==="ignore"||A&&A.position==="second")L=0,k=!0;break;case"elseif":case"else":L=0,f!="elseif"&&(k=!0)}if(L>0)d.unshift(l);else if(L<=0&&k===!1){d.shift();if(!d.length){switch(l){case"end":var w=i.getCurrentTokenPosition();C=i.getCurrentTokenRange(),i.step(),i.step(),a=i.getCurrentToken();if(a){l=a.value.toLowerCase();if(l in u){f=="else"||f=="elseif"?l!=="if"&&N.shift():l!=f&&N.shift();var E=i.getCurrentTokenPosition(),S=E.column+l.length;C.setEnd(E.row,S)}else N.shift()}else N.shift();i.step=i.stepBackward,i.step(),i.step(),a=i.getCurrentToken(),l=a.value.toLowerCase();break;case"select":case"sub":case"if":case"function":case"class":case"with":case"property":l!=f&&N.shift();break;case"do":f!="loop"&&N.shift();var O=this.$isDoubleKeyword(a,i);C=O&&O.position==="first"?O.range:i.getCurrentTokenRange();break;case"loop":f!="do"&&N.shift();var M=this.$isDoubleKeyword(a,i);C=M&&M.position==="first"?M.range:i.getCurrentTokenRange();break;case"for":f!="next"&&N.shift();break;case"next":f!="for"&&N.shift();break;case"while":f!="wend"&&N.shift();break;case"wend":f!="while"&&N.shift()}break}L===0&&d.unshift(l)}}if(!a)return null;if(r)return C?N.push(C):N.push(i.getCurrentTokenRange()),N;var t=i.getCurrentTokenRow();if(v===-1){var S=e.getLine(t).length;return new s(t,S,T-1,x)}return new s(T,x,t-1,e.getLine(t-1).length)},this.$isDoubleKeyword=function(e,t){var n=e.value.toLowerCase(),r=t.$tokenIndex,i=t.$rowTokens,s=r-2,o=s>=0?i[s]:null;if(o){var u=o.value.toLowerCase();if((n==="while"||n==="until")&&u==="do")return{range:this.$getDoubleKeywordRange(s,r,t),position:"second",keyword:"do"};if((n==="while"||n==="until")&&u==="loop")return{range:this.$getDoubleKeywordRange(s,r,t),position:"second",keyword:"loop"};if(u==="exit"&&(n==="for"||n==="do"||n==="sub"||n==="function"||n==="property"))return"ignore"}var a=r+2,f=a<i.length?i[a]:null;if(f){var l=f.value.toLowerCase();if(n==="do"&&(l==="while"||l==="until"))return{range:this.$getDoubleKeywordRange(r,a,t),position:"first",keyword:"do"};if(n==="loop"&&(l==="while"||l==="until"))return{range:this.$getDoubleKeywordRange(r,a,t),position:"first",keyword:"loop"};if(n==="exit"&&(l==="for"||l==="do"||l==="sub"||l==="function"||l==="property"))return"ignore"}return!1},this.$getDoubleKeywordRange=function(e,t,n){var r=n.$row,i=n.$rowTokens,o=0;for(var u=0;u<e;u++)o+=i[u].value.length;var a=0;for(var u=0;u<=t;u++)a+=i[u].value.length;return new s(r,o,r,a)}}.call(u.prototype)}),define("ace/mode/vbscript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/vbscript_highlight_rules","ace/mode/folding/vbscript","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./vbscript_highlight_rules").VBScriptHighlightRules,o=e("./folding/vbscript").FoldMode,u=e("../range").Range,a=function(){this.HighlightRules=s,this.foldingRules=new o,this.$behaviour=this.$defaultBehaviour,this.indentKeywords=this.foldingRules.indentKeywords};r.inherits(a,i),function(){function t(e,t){var n=e[t].value.toLowerCase(),r=t>=2?e[t-2]:null;if(!r)return!1;var i=r.value.toLowerCase();return n!=="while"&&n!=="until"||i!=="do"&&i!=="loop"?i!=="exit"||n!=="for"&&n!=="do"&&n!=="sub"&&n!=="function"&&n!=="property"?!1:!0:!0}function n(e,n,r){var i=0;for(var s=0;s<e.length;s++){var o=e[s];if(o.type=="keyword.control.asp"||o.type=="storage.type.function.asp"){var u=o.value.toLowerCase();if(u in r){if(t(e,s))continue;switch(u){case"property":case"sub":case"function":case"select":case"do":case"for":case"class":case"while":case"with":case"if":var a=new RegExp("^\\s* end\\s+"+u,"i"),f=/^\s*If\s+.*\s+Then(?!')\s+(?!')\S/i.test(n);!f&&!a.test(n)&&(i+=r[u]);break;default:i+=r[u]}}}}return i<0?-1:i>0?1:0}this.lineCommentStart=["'","REM"];var e=["else","elseif","end","loop","next","wend"];this.getNextLineIndent=function(e,t,r){var i=this.$getIndent(t),s=0,o=this.getTokenizer().getLineTokens(t,e),u=o.tokens;return e=="start"&&(s=n(u,t,this.indentKeywords)),s>0?i+r:s<0&&i.substr(i.length-r.length)==r&&!this.checkOutdent(e,t,"\n")?i.substr(0,i.length-r.length):i},this.checkOutdent=function(t,n,r){if(r!="\n"&&r!="\r"&&r!="\r\n")return!1;var i=this.getTokenizer().getLineTokens(n.trim(),t).tokens;if(!i||!i.length)return!1;var s=i[0].value.toLowerCase();return(i[0].type=="keyword.control.asp"||i[0].type=="storage.type.function.asp")&&e.indexOf(s)!=-1},this.getMatching=function(e,t,n,r){if(t==undefined){var i=e.selection.lead;n=i.column,t=i.row}r==undefined&&(r=!0);var s=e.getTokenAt(t,n);if(s){var o=s.value.toLowerCase();if(/^\s+$/.test(o)){n+=o.length,s=e.getTokenAt(t,n);if(!s)return;o=s.value.toLowerCase()}if(o in this.indentKeywords)return this.foldingRules.vbsBlock(e,t,n,r)}},this.autoOutdent=function(e,t,n){var r=t.getLine(n),i=r.match(/^\s*/)[0].length;if(!i||!n)return;var s=this.getMatching(t,n,i+1,!1);if(!s||s.start.row==n)return;var o=this.$getIndent(t.getLine(s.start.row));o.length!=i&&(t.replace(new u(n,0,n,i),o),t.outdentRows(new u(n+1,0,n+1,0)))},this.$id="ace/mode/vbscript"}.call(a.prototype),t.Mode=a}); (function() { window.require(["ace/mode/vbscript"], function(m) { if (typeof module == "object" && typeof exports == "object" && module) { module.exports = m; } }); })();