1{"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"]}