1{"version":3,"sources":["../../node_modules/codemirror/mode/tornado/tornado.js"],"names":["mod","exports","module","require","define","amd","CodeMirror","defineMode","keywords","RegExp","join","tokenBase","stream","state","eatWhile","ch","next","eat","tokenize","inTag","close","match","startState","token","config","htmlBase","getMode","tornadoInner","overlayMode","defineMIME"],"mappings":"CAGA,SAAUA,GACR,SAAWC,UAAW,gBAAmBC,SAAU,SACjDF,EAAIG,QAAQ,wBAAyBA,QAAQ,0BACzCA,QAAQ,iCACT,UAAWC,SAAU,YAAcA,OAAOC,IAC7CD,QAAQ,uBAAwB,yBACxB,4BAA6BJ,OAErCA,GAAIM,cACL,SAASA,GACV,YAEAA,GAAWC,WAAW,gBAAiB,WACrC,GAAIC,IAAY,MAAM,KAAK,SAAS,aAAa,QAAQ,QAAQ,QAAQ,UAAU,UACnE,WAAW,WAAW,MAAM,MAAM,OAAO,OAAO,MAAM,SAAS,SAC/D,OAAO,UAAU,QAAQ,UAAU,MAAM,OAAO,SAAS,KAAK,SAAS,KACvE,UAAU,KAAK,cAAc,SAAS,SAAS,UAAU,OAAO,SAChE,OAAO,MAAM,KAAK,OAAO,QAAQ,MAAM,QAAQ,MAAM,SAAS,OAAO,MACrE,UAAU,QAAQ,OAAO,MAAM,aAAa,QAAQ,OAAO,UAAU,eAAe,QACpGA,GAAW,GAAIC,QAAO,MAAQD,EAASE,KAAK,OAAS,QAErD,SAASC,GAAWC,EAAQC,GAC1BD,EAAOE,SAAS,QAChB,IAAIC,GAAKH,EAAOI,MAChB,IAAID,GAAM,IAAK,CACb,GAAIA,EAAKH,EAAOK,IAAI,UAAW,CAC7BJ,EAAMK,SAAWC,EAAMJ,EACvB,OAAO,QAIb,QAASI,GAAOC,GACd,GAAIA,GAAS,IAAK,CAChBA,EAAQ,IAEV,MAAO,UAAUR,EAAQC,GACvB,GAAIE,GAAKH,EAAOI,MAChB,IAAKD,GAAMK,GAAUR,EAAOK,IAAI,KAAM,CACpCJ,EAAMK,SAAWP,CACjB,OAAO,MAET,GAAIC,EAAOS,MAAMb,GAAW,CAC1B,MAAO,UAET,MAAOY,IAAS,IAAM,UAAY,UAGtC,OACEE,WAAY,WACV,OAAQJ,SAAUP,IAEpBY,MAAO,SAAUX,EAAQC,GACvB,MAAOA,GAAMK,SAASN,EAAQC,MAKpCP,GAAWC,WAAW,UAAW,SAASiB,GACxC,GAAIC,GAAWnB,EAAWoB,QAAQF,EAAQ,YAC1C,IAAIG,GAAerB,EAAWoB,QAAQF,EAAQ,gBAC9C,OAAOlB,GAAWsB,YAAYH,EAAUE,IAG1CrB,GAAWuB,WAAW,iBAAkB","file":"tornado.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(\"../htmlmixed/htmlmixed\"),\n        require(\"../../addon/mode/overlay\"));\n  else if (typeof define == \"function\" && define.amd) // AMD\n    define([\"../../lib/codemirror\", \"../htmlmixed/htmlmixed\",\n            \"../../addon/mode/overlay\"], mod);\n  else // Plain browser env\n    mod(CodeMirror);\n})(function(CodeMirror) {\n  \"use strict\";\n\n  CodeMirror.defineMode(\"tornado:inner\", function() {\n    var keywords = [\"and\",\"as\",\"assert\",\"autoescape\",\"block\",\"break\",\"class\",\"comment\",\"context\",\n                    \"continue\",\"datetime\",\"def\",\"del\",\"elif\",\"else\",\"end\",\"escape\",\"except\",\n                    \"exec\",\"extends\",\"false\",\"finally\",\"for\",\"from\",\"global\",\"if\",\"import\",\"in\",\n                    \"include\",\"is\",\"json_encode\",\"lambda\",\"length\",\"linkify\",\"load\",\"module\",\n                    \"none\",\"not\",\"or\",\"pass\",\"print\",\"put\",\"raise\",\"raw\",\"return\",\"self\",\"set\",\n                    \"squeeze\",\"super\",\"true\",\"try\",\"url_escape\",\"while\",\"with\",\"without\",\"xhtml_escape\",\"yield\"];\n    keywords = new RegExp(\"^((\" + keywords.join(\")|(\") + \"))\\\\b\");\n\n    function tokenBase (stream, state) {\n      stream.eatWhile(/[^\\{]/);\n      var ch = stream.next();\n      if (ch == \"{\") {\n        if (ch = stream.eat(/\\{|%|#/)) {\n          state.tokenize = inTag(ch);\n          return \"tag\";\n        }\n      }\n    }\n    function inTag (close) {\n      if (close == \"{\") {\n        close = \"}\";\n      }\n      return function (stream, state) {\n        var ch = stream.next();\n        if ((ch == close) && stream.eat(\"}\")) {\n          state.tokenize = tokenBase;\n          return \"tag\";\n        }\n        if (stream.match(keywords)) {\n          return \"keyword\";\n        }\n        return close == \"#\" ? \"comment\" : \"string\";\n      };\n    }\n    return {\n      startState: function () {\n        return {tokenize: tokenBase};\n      },\n      token: function (stream, state) {\n        return state.tokenize(stream, state);\n      }\n    };\n  });\n\n  CodeMirror.defineMode(\"tornado\", function(config) {\n    var htmlBase = CodeMirror.getMode(config, \"text/html\");\n    var tornadoInner = CodeMirror.getMode(config, \"tornado:inner\");\n    return CodeMirror.overlayMode(htmlBase, tornadoInner);\n  });\n\n  CodeMirror.defineMIME(\"text/x-tornado\", \"tornado\");\n});\n"]}