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