{"version":3,"file":"vbscript-D2Gs3oEd.cjs","sources":["../../../node_modules/@codemirror/legacy-modes/mode/vbscript.js"],"sourcesContent":["function mkVBScript(parserConf) {\n    var ERRORCLASS = 'error';\n\n    function wordRegexp(words) {\n        return new RegExp(\"^((\" + words.join(\")|(\") + \"))\\\\b\", \"i\");\n    }\n\n    var singleOperators = new RegExp(\"^[\\\\+\\\\-\\\\*/&\\\\\\\\\\\\^<>=]\");\n    var doubleOperators = new RegExp(\"^((<>)|(<=)|(>=))\");\n    var singleDelimiters = new RegExp('^[\\\\.,]');\n    var brackets = new RegExp('^[\\\\(\\\\)]');\n    var identifiers = new RegExp(\"^[A-Za-z][_A-Za-z0-9]*\");\n\n    var openingKeywords = ['class','sub','select','while','if','function', 'property', 'with', 'for'];\n    var middleKeywords = ['else','elseif','case'];\n    var endKeywords = ['next','loop','wend'];\n\n    var wordOperators = wordRegexp(['and', 'or', 'not', 'xor', 'is', 'mod', 'eqv', 'imp']);\n    var commonkeywords = ['dim', 'redim', 'then',  'until', 'randomize',\n                          'byval','byref','new','property', 'exit', 'in',\n                          'const','private', 'public',\n                          'get','set','let', 'stop', 'on error resume next', 'on error goto 0', 'option explicit', 'call', 'me'];\n\n    //This list was from: http://msdn.microsoft.com/en-us/library/f8tbc79x(v=vs.84).aspx\n    var atomWords = ['true', 'false', 'nothing', 'empty', 'null'];\n    //This list was from: http://msdn.microsoft.com/en-us/library/3ca8tfek(v=vs.84).aspx\n    var builtinFuncsWords = ['abs', 'array', 'asc', 'atn', 'cbool', 'cbyte', 'ccur', 'cdate', 'cdbl', 'chr', 'cint', 'clng', 'cos', 'csng', 'cstr', 'date', 'dateadd', 'datediff', 'datepart',\n                        'dateserial', 'datevalue', 'day', 'escape', 'eval', 'execute', 'exp', 'filter', 'formatcurrency', 'formatdatetime', 'formatnumber', 'formatpercent', 'getlocale', 'getobject',\n                        'getref', 'hex', 'hour', 'inputbox', 'instr', 'instrrev', 'int', 'fix', 'isarray', 'isdate', 'isempty', 'isnull', 'isnumeric', 'isobject', 'join', 'lbound', 'lcase', 'left',\n                        'len', 'loadpicture', 'log', 'ltrim', 'rtrim', 'trim', 'maths', 'mid', 'minute', 'month', 'monthname', 'msgbox', 'now', 'oct', 'replace', 'rgb', 'right', 'rnd', 'round',\n                        'scriptengine', 'scriptenginebuildversion', 'scriptenginemajorversion', 'scriptengineminorversion', 'second', 'setlocale', 'sgn', 'sin', 'space', 'split', 'sqr', 'strcomp',\n                        'string', 'strreverse', 'tan', 'time', 'timer', 'timeserial', 'timevalue', 'typename', 'ubound', 'ucase', 'unescape', 'vartype', 'weekday', 'weekdayname', 'year'];\n\n    //This list was from: http://msdn.microsoft.com/en-us/library/ydz4cfk3(v=vs.84).aspx\n    var builtinConsts = ['vbBlack', 'vbRed', 'vbGreen', 'vbYellow', 'vbBlue', 'vbMagenta', 'vbCyan', 'vbWhite', 'vbBinaryCompare', 'vbTextCompare',\n                         'vbSunday', 'vbMonday', 'vbTuesday', 'vbWednesday', 'vbThursday', 'vbFriday', 'vbSaturday', 'vbUseSystemDayOfWeek', 'vbFirstJan1', 'vbFirstFourDays', 'vbFirstFullWeek',\n                         'vbGeneralDate', 'vbLongDate', 'vbShortDate', 'vbLongTime', 'vbShortTime', 'vbObjectError',\n                         'vbOKOnly', 'vbOKCancel', 'vbAbortRetryIgnore', 'vbYesNoCancel', 'vbYesNo', 'vbRetryCancel', 'vbCritical', 'vbQuestion', 'vbExclamation', 'vbInformation', 'vbDefaultButton1', 'vbDefaultButton2',\n                         'vbDefaultButton3', 'vbDefaultButton4', 'vbApplicationModal', 'vbSystemModal', 'vbOK', 'vbCancel', 'vbAbort', 'vbRetry', 'vbIgnore', 'vbYes', 'vbNo',\n                         'vbCr', 'VbCrLf', 'vbFormFeed', 'vbLf', 'vbNewLine', 'vbNullChar', 'vbNullString', 'vbTab', 'vbVerticalTab', 'vbUseDefault', 'vbTrue', 'vbFalse',\n                         'vbEmpty', 'vbNull', 'vbInteger', 'vbLong', 'vbSingle', 'vbDouble', 'vbCurrency', 'vbDate', 'vbString', 'vbObject', 'vbError', 'vbBoolean', 'vbVariant', 'vbDataObject', 'vbDecimal', 'vbByte', 'vbArray'];\n    //This list was from: http://msdn.microsoft.com/en-us/library/hkc375ea(v=vs.84).aspx\n    var builtinObjsWords = ['WScript', 'err', 'debug', 'RegExp'];\n    var knownProperties = ['description', 'firstindex', 'global', 'helpcontext', 'helpfile', 'ignorecase', 'length', 'number', 'pattern', 'source', 'value', 'count'];\n    var knownMethods = ['clear', 'execute', 'raise', 'replace', 'test', 'write', 'writeline', 'close', 'open', 'state', 'eof', 'update', 'addnew', 'end', 'createobject', 'quit'];\n\n    var aspBuiltinObjsWords = ['server', 'response', 'request', 'session', 'application'];\n    var aspKnownProperties = ['buffer', 'cachecontrol', 'charset', 'contenttype', 'expires', 'expiresabsolute', 'isclientconnected', 'pics', 'status', //response\n                              'clientcertificate', 'cookies', 'form', 'querystring', 'servervariables', 'totalbytes', //request\n                              'contents', 'staticobjects', //application\n                              'codepage', 'lcid', 'sessionid', 'timeout', //session\n                              'scripttimeout']; //server\n    var aspKnownMethods = ['addheader', 'appendtolog', 'binarywrite', 'end', 'flush', 'redirect', //response\n                           'binaryread', //request\n                           'remove', 'removeall', 'lock', 'unlock', //application\n                           'abandon', //session\n                           'getlasterror', 'htmlencode', 'mappath', 'transfer', 'urlencode']; //server\n\n    var knownWords = knownMethods.concat(knownProperties);\n\n    builtinObjsWords = builtinObjsWords.concat(builtinConsts);\n\n    if (parserConf.isASP){\n        builtinObjsWords = builtinObjsWords.concat(aspBuiltinObjsWords);\n        knownWords = knownWords.concat(aspKnownMethods, aspKnownProperties);\n    };\n\n    var keywords = wordRegexp(commonkeywords);\n    var atoms = wordRegexp(atomWords);\n    var builtinFuncs = wordRegexp(builtinFuncsWords);\n    var builtinObjs = wordRegexp(builtinObjsWords);\n    var known = wordRegexp(knownWords);\n    var stringPrefixes = '\"';\n\n    var opening = wordRegexp(openingKeywords);\n    var middle = wordRegexp(middleKeywords);\n    var closing = wordRegexp(endKeywords);\n    var doubleClosing = wordRegexp(['end']);\n    var doOpening = wordRegexp(['do']);\n    var noIndentWords = wordRegexp(['on error resume next', 'exit']);\n    var comment = wordRegexp(['rem']);\n\n\n    function indent(_stream, state) {\n      state.currentIndent++;\n    }\n\n    function dedent(_stream, state) {\n      state.currentIndent--;\n    }\n    // tokenizers\n    function tokenBase(stream, state) {\n        if (stream.eatSpace()) {\n            return null\n            //return null;\n        }\n\n        var ch = stream.peek();\n\n        // Handle Comments\n        if (ch === \"'\") {\n            stream.skipToEnd();\n            return 'comment';\n        }\n        if (stream.match(comment)){\n            stream.skipToEnd();\n            return 'comment';\n        }\n\n\n        // Handle Number Literals\n        if (stream.match(/^((&H)|(&O))?[0-9\\.]/i, false) && !stream.match(/^((&H)|(&O))?[0-9\\.]+[a-z_]/i, false)) {\n            var floatLiteral = false;\n            // Floats\n            if (stream.match(/^\\d*\\.\\d+/i)) { floatLiteral = true; }\n            else if (stream.match(/^\\d+\\.\\d*/)) { floatLiteral = true; }\n            else if (stream.match(/^\\.\\d+/)) { floatLiteral = true; }\n\n            if (floatLiteral) {\n                // Float literals may be \"imaginary\"\n                stream.eat(/J/i);\n                return 'number';\n            }\n            // Integers\n            var intLiteral = false;\n            // Hex\n            if (stream.match(/^&H[0-9a-f]+/i)) { intLiteral = true; }\n            // Octal\n            else if (stream.match(/^&O[0-7]+/i)) { intLiteral = true; }\n            // Decimal\n            else if (stream.match(/^[1-9]\\d*F?/)) {\n                // Decimal literals may be \"imaginary\"\n                stream.eat(/J/i);\n                // TODO - Can you have imaginary longs?\n                intLiteral = true;\n            }\n            // Zero by itself with no other piece of number.\n            else if (stream.match(/^0(?![\\dx])/i)) { intLiteral = true; }\n            if (intLiteral) {\n                // Integer literals may be \"long\"\n                stream.eat(/L/i);\n                return 'number';\n            }\n        }\n\n        // Handle Strings\n        if (stream.match(stringPrefixes)) {\n            state.tokenize = tokenStringFactory(stream.current());\n            return state.tokenize(stream, state);\n        }\n\n        // Handle operators and Delimiters\n        if (stream.match(doubleOperators)\n            || stream.match(singleOperators)\n            || stream.match(wordOperators)) {\n            return 'operator';\n        }\n        if (stream.match(singleDelimiters)) {\n            return null;\n        }\n\n        if (stream.match(brackets)) {\n            return \"bracket\";\n        }\n\n        if (stream.match(noIndentWords)) {\n            state.doInCurrentLine = true;\n\n            return 'keyword';\n        }\n\n        if (stream.match(doOpening)) {\n            indent(stream,state);\n            state.doInCurrentLine = true;\n\n            return 'keyword';\n        }\n        if (stream.match(opening)) {\n            if (! state.doInCurrentLine)\n              indent(stream,state);\n            else\n              state.doInCurrentLine = false;\n\n            return 'keyword';\n        }\n        if (stream.match(middle)) {\n            return 'keyword';\n        }\n\n\n        if (stream.match(doubleClosing)) {\n            dedent(stream,state);\n            dedent(stream,state);\n\n            return 'keyword';\n        }\n        if (stream.match(closing)) {\n            if (! state.doInCurrentLine)\n              dedent(stream,state);\n            else\n              state.doInCurrentLine = false;\n\n            return 'keyword';\n        }\n\n        if (stream.match(keywords)) {\n            return 'keyword';\n        }\n\n        if (stream.match(atoms)) {\n            return 'atom';\n        }\n\n        if (stream.match(known)) {\n            return 'variableName.special';\n        }\n\n        if (stream.match(builtinFuncs)) {\n            return 'builtin';\n        }\n\n        if (stream.match(builtinObjs)){\n            return 'builtin';\n        }\n\n        if (stream.match(identifiers)) {\n            return 'variable';\n        }\n\n        // Handle non-detected items\n        stream.next();\n        return ERRORCLASS;\n    }\n\n    function tokenStringFactory(delimiter) {\n        var singleline = delimiter.length == 1;\n        var OUTCLASS = 'string';\n\n        return function(stream, state) {\n            while (!stream.eol()) {\n                stream.eatWhile(/[^'\"]/);\n                if (stream.match(delimiter)) {\n                    state.tokenize = tokenBase;\n                    return OUTCLASS;\n                } else {\n                    stream.eat(/['\"]/);\n                }\n            }\n            if (singleline) {\n              state.tokenize = tokenBase;\n            }\n            return OUTCLASS;\n        };\n    }\n\n\n    function tokenLexer(stream, state) {\n        var style = state.tokenize(stream, state);\n        var current = stream.current();\n\n        // Handle '.' connected identifiers\n        if (current === '.') {\n            style = state.tokenize(stream, state);\n\n            current = stream.current();\n            if (style && (style.substr(0, 8) === 'variable' || style==='builtin' || style==='keyword')){//|| knownWords.indexOf(current.substring(1)) > -1) {\n                if (style === 'builtin' || style === 'keyword') style='variable';\n                if (knownWords.indexOf(current.substr(1)) > -1) style='keyword';\n\n                return style;\n            } else {\n                return ERRORCLASS;\n            }\n        }\n\n        return style;\n    }\n\n    return {\n        name: \"vbscript\",\n        startState: function() {\n            return {\n              tokenize: tokenBase,\n              lastToken: null,\n              currentIndent: 0,\n              nextLineIndent: 0,\n              doInCurrentLine: false,\n              ignoreKeyword: false\n\n\n          };\n        },\n\n        token: function(stream, state) {\n            if (stream.sol()) {\n              state.currentIndent += state.nextLineIndent;\n              state.nextLineIndent = 0;\n              state.doInCurrentLine = 0;\n            }\n            var style = tokenLexer(stream, state);\n\n            state.lastToken = {style:style, content: stream.current()};\n\n            if (style===null) style=null;\n\n            return style;\n        },\n\n        indent: function(state, textAfter, cx) {\n            var trueText = textAfter.replace(/^\\s+|\\s+$/g, '') ;\n            if (trueText.match(closing) || trueText.match(doubleClosing) || trueText.match(middle)) return cx.unit*(state.currentIndent-1);\n            if(state.currentIndent < 0) return 0;\n            return state.currentIndent * cx.unit\n        }\n\n    };\n};\n\nexport const vbScript = mkVBScript({})\nexport const vbScriptASP = mkVBScript({isASP: true})\n"],"names":["mkVBScript","parserConf","ERRORCLASS","wordRegexp","words","RegExp","join","singleOperators","doubleOperators","singleDelimiters","brackets","identifiers","wordOperators","builtinObjsWords","knownWords","concat","isASP","keywords","atoms","builtinFuncs","builtinObjs","known","opening","middle","closing","doubleClosing","doOpening","noIndentWords","comment","indent","_stream","state","currentIndent","dedent","tokenBase","stream","eatSpace","delimiter","singleline","OUTCLASS","peek","skipToEnd","match","floatLiteral","eat","intLiteral","tokenize","current","length","eol","eatWhile","doInCurrentLine","next","name","startState","lastToken","nextLineIndent","ignoreKeyword","token","sol","style","substr","indexOf","tokenLexer","content","textAfter","cx","trueText","replace","unit","vbScript"],"mappings":"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","x_google_ignoreList":[0]}