{"version":3,"sources":["../../node_modules/codemirror/mode/pegjs/pegjs.js"],"names":["mod","exports","module","require","define","amd","CodeMirror","defineMode","config","jsMode","getMode","identifier","stream","match","startState","inString","stringType","inComment","inCharacterClass","braced","lhs","localState","token","state","peek","next","eol","skipToEnd","text","current","i","length","indexOf","eatSpace"],"mappings":"CAGA,SAAUA,GACR,SAAWC,UAAW,gBAAmBC,SAAU,SACjDF,EAAIG,QAAQ,wBAAyBA,QAAQ,iCAC1C,UAAWC,SAAU,YAAcA,OAAOC,IAC7CD,QAAQ,uBAAwB,4BAA6BJ,OAE7DA,GAAIM,cACL,SAASA,GACZ,YAEAA,GAAWC,WAAW,QAAS,SAAUC,GACvC,GAAIC,GAASH,EAAWI,QAAQF,EAAQ,aAExC,SAASG,GAAWC,GAClB,MAAOA,GAAOC,MAAM,2BAGtB,OACEC,WAAY,WACV,OACEC,SAAU,MACVC,WAAY,KACZC,UAAW,MACXC,iBAAkB,MAClBC,OAAQ,EACRC,IAAK,KACLC,WAAY,OAGhBC,MAAO,SAAUV,EAAQW,GACvB,GAAIX,EAGJ,IAAKW,EAAMR,WAAaQ,EAAMN,YAAeL,EAAOY,QAAU,KAASZ,EAAOY,QAAU,KAAO,CAC7FD,EAAMP,WAAaJ,EAAOY,MAC1BZ,GAAOa,MACPF,GAAMR,SAAW,KAEnB,IAAKQ,EAAMR,WAAaQ,EAAMN,WAAaL,EAAOC,MAAM,SAAU,CAChEU,EAAMN,UAAY,KAIpB,GAAIM,EAAMR,SAAU,CAClB,MAAOQ,EAAMR,WAAaH,EAAOc,MAAO,CACtC,GAAId,EAAOY,SAAWD,EAAMP,WAAY,CACtCJ,EAAOa,MACPF,GAAMR,SAAW,UACZ,IAAIH,EAAOY,SAAW,KAAM,CACjCZ,EAAOa,MACPb,GAAOa,WACF,CACLb,EAAOC,MAAM,iBAGjB,MAAOU,GAAMH,IAAM,kBAAoB,aAClC,IAAIG,EAAMN,UAAW,CAC1B,MAAOM,EAAMN,YAAcL,EAAOc,MAAO,CACvC,GAAId,EAAOC,MAAM,QAAS,CACxBU,EAAMN,UAAY,UACb,CACLL,EAAOC,MAAM,aAGjB,MAAO,cACF,IAAIU,EAAML,iBAAkB,CAC/B,MAAOK,EAAML,mBAAqBN,EAAOc,MAAO,CAC9C,KAAMd,EAAOC,MAAM,cAAgBD,EAAOC,MAAM,SAAU,CACxDU,EAAML,iBAAmB,YAG1B,IAAIN,EAAOY,SAAW,IAAK,CAChCZ,EAAOa,MACPF,GAAML,iBAAmB,IACzB,OAAO,cACF,IAAIN,EAAOC,MAAM,SAAU,CAChCD,EAAOe,WACP,OAAO,cACF,IAAIJ,EAAMJ,QAAUP,EAAOY,SAAW,IAAK,CAChD,GAAID,EAAMF,aAAe,KAAM,CAC7BE,EAAMF,WAAaf,EAAWQ,WAAWL,GAE3C,GAAIa,GAAQb,EAAOa,MAAMV,EAAQW,EAAMF,WACvC,IAAIO,GAAOhB,EAAOiB,SAClB,KAAKP,EAAO,CACV,IAAK,GAAIQ,GAAI,EAAGA,EAAIF,EAAKG,OAAQD,IAAK,CACpC,GAAIF,EAAKE,KAAO,IAAK,CACnBP,EAAMJ,aACD,IAAIS,EAAKE,KAAO,IAAK,CAC1BP,EAAMJ,WAIZ,MAAOG,OACF,IAAIX,EAAWC,GAAS,CAC7B,GAAIA,EAAOY,SAAW,IAAK,CACzB,MAAO,WAET,MAAO,iBACF,KAAK,IAAK,IAAK,IAAK,KAAKQ,QAAQpB,EAAOY,UAAY,EAAG,CAC5DZ,EAAOa,MACP,OAAO,cACF,KAAKb,EAAOqB,WAAY,CAC7BrB,EAAOa,OAET,MAAO,SAGV","file":"pegjs.min.js","sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"), require(\"../javascript/javascript\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"../javascript/javascript\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"pegjs\", function (config) {\n var jsMode = CodeMirror.getMode(config, \"javascript\");\n\n function identifier(stream) {\n return stream.match(/^[a-zA-Z_][a-zA-Z0-9_]*/);\n }\n\n return {\n startState: function () {\n return {\n inString: false,\n stringType: null,\n inComment: false,\n inCharacterClass: false,\n braced: 0,\n lhs: true,\n localState: null\n };\n },\n token: function (stream, state) {\n if (stream)\n\n //check for state changes\n if (!state.inString && !state.inComment && ((stream.peek() == '\"') || (stream.peek() == \"'\"))) {\n state.stringType = stream.peek();\n stream.next(); // Skip quote\n state.inString = true; // Update state\n }\n if (!state.inString && !state.inComment && stream.match(/^\\/\\*/)) {\n state.inComment = true;\n }\n\n //return state\n if (state.inString) {\n while (state.inString && !stream.eol()) {\n if (stream.peek() === state.stringType) {\n stream.next(); // Skip quote\n state.inString = false; // Clear flag\n } else if (stream.peek() === '\\\\') {\n stream.next();\n stream.next();\n } else {\n stream.match(/^.[^\\\\\\\"\\']*/);\n }\n }\n return state.lhs ? \"property string\" : \"string\"; // Token style\n } else if (state.inComment) {\n while (state.inComment && !stream.eol()) {\n if (stream.match(/\\*\\//)) {\n state.inComment = false; // Clear flag\n } else {\n stream.match(/^.[^\\*]*/);\n }\n }\n return \"comment\";\n } else if (state.inCharacterClass) {\n while (state.inCharacterClass && !stream.eol()) {\n if (!(stream.match(/^[^\\]\\\\]+/) || stream.match(/^\\\\./))) {\n state.inCharacterClass = false;\n }\n }\n } else if (stream.peek() === '[') {\n stream.next();\n state.inCharacterClass = true;\n return 'bracket';\n } else if (stream.match(/^\\/\\//)) {\n stream.skipToEnd();\n return \"comment\";\n } else if (state.braced || stream.peek() === '{') {\n if (state.localState === null) {\n state.localState = CodeMirror.startState(jsMode);\n }\n var token = jsMode.token(stream, state.localState);\n var text = stream.current();\n if (!token) {\n for (var i = 0; i < text.length; i++) {\n if (text[i] === '{') {\n state.braced++;\n } else if (text[i] === '}') {\n state.braced--;\n }\n };\n }\n return token;\n } else if (identifier(stream)) {\n if (stream.peek() === ':') {\n return 'variable';\n }\n return 'variable-2';\n } else if (['[', ']', '(', ')'].indexOf(stream.peek()) != -1) {\n stream.next();\n return 'bracket';\n } else if (!stream.eatSpace()) {\n stream.next();\n }\n return null;\n }\n };\n}, \"javascript\");\n\n});\n"]}