{"version":3,"file":"brainfuck-DNcy2VoQ.cjs","sources":["../../../node_modules/@codemirror/legacy-modes/mode/brainfuck.js"],"sourcesContent":["var reserve = \"><+-.,[]\".split(\"\");\n/*\n  comments can be either:\n  placed behind lines\n\n  +++    this is a comment\n\n  where reserved characters cannot be used\n  or in a loop\n  [\n  this is ok to use [ ] and stuff\n  ]\n  or preceded by #\n*/\nexport const brainfuck = {\n  name: \"brainfuck\",\n  startState: function() {\n    return {\n      commentLine: false,\n      left: 0,\n      right: 0,\n      commentLoop: false\n    }\n  },\n  token: function(stream, state) {\n    if (stream.eatSpace()) return null\n    if(stream.sol()){\n      state.commentLine = false;\n    }\n    var ch = stream.next().toString();\n    if(reserve.indexOf(ch) !== -1){\n      if(state.commentLine === true){\n        if(stream.eol()){\n          state.commentLine = false;\n        }\n        return \"comment\";\n      }\n      if(ch === \"]\" || ch === \"[\"){\n        if(ch === \"[\"){\n          state.left++;\n        }\n        else{\n          state.right++;\n        }\n        return \"bracket\";\n      }\n      else if(ch === \"+\" || ch === \"-\"){\n        return \"keyword\";\n      }\n      else if(ch === \"<\" || ch === \">\"){\n        return \"atom\";\n      }\n      else if(ch === \".\" || ch === \",\"){\n        return \"def\";\n      }\n    }\n    else{\n      state.commentLine = true;\n      if(stream.eol()){\n        state.commentLine = false;\n      }\n      return \"comment\";\n    }\n    if(stream.eol()){\n      state.commentLine = false;\n    }\n  }\n};\n"],"names":["reserve","split","brainfuck","name","startState","commentLine","left","right","commentLoop","token","stream","state","eatSpace","sol","ch","next","toString","indexOf","eol"],"mappings":"gFAAA,IAAIA,EAAU,WAAWC,MAAM,IAcnB,MAACC,EAAY,CACvBC,KAAM,YACNC,WAAY,WACV,MAAO,CACLC,aAAa,EACbC,KAAM,EACNC,MAAO,EACPC,aAAa,EAEjB,EACAC,MAAO,SAASC,EAAQC,GACtB,GAAID,EAAOE,WAAY,OAAO,KAC3BF,EAAOG,QACRF,EAAMN,aAAc,GAEtB,IAAIS,EAAKJ,EAAOK,OAAOC,WACvB,OAA2B,IAAxBhB,EAAQiB,QAAQH,IA2BjBH,EAAMN,aAAc,EACjBK,EAAOQ,QACRP,EAAMN,aAAc,GAEf,YA9BkB,IAAtBM,EAAMN,aACJK,EAAOQ,QACRP,EAAMN,aAAc,GAEf,WAEC,MAAPS,GAAqB,MAAPA,GACL,MAAPA,EACDH,EAAML,OAGNK,EAAMJ,QAED,WAEM,MAAPO,GAAqB,MAAPA,EACb,UAEM,MAAPA,GAAqB,MAAPA,EACb,OAEM,MAAPA,GAAqB,MAAPA,EACb,WAURJ,EAAOQ,QACRP,EAAMN,aAAc,GAExB","x_google_ignoreList":[0]}