{"version":3,"sources":["jsdelivr-header.js","/npm/codemirror@5.65.0/mode/lua/lua.js"],"names":[],"mappings":"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","file":"/npm/codemirror@5.65.0/mode/lua/lua.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/codemirror@5.65.0/mode/lua/lua.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// LUA mode. Ported to CodeMirror 2 from Franciszek Wawrzak's\n// CodeMirror 1 mode.\n// highlights keywords, strings, comments (no leveling supported! (\"[==[\")), tokens, basic indenting\n\n(function(mod) {\n  if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n    mod(require(\"../../lib/codemirror\"));\n  else if (typeof define == \"function\" && define.amd) // AMD\n    define([\"../../lib/codemirror\"], mod);\n  else // Plain browser env\n    mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"lua\", function(config, parserConfig) {\n  var indentUnit = config.indentUnit;\n\n  function prefixRE(words) {\n    return new RegExp(\"^(?:\" + words.join(\"|\") + \")\", \"i\");\n  }\n  function wordRE(words) {\n    return new RegExp(\"^(?:\" + words.join(\"|\") + \")$\", \"i\");\n  }\n  var specials = wordRE(parserConfig.specials || []);\n\n  // long list of standard functions from lua manual\n  var builtins = wordRE([\n    \"_G\",\"_VERSION\",\"assert\",\"collectgarbage\",\"dofile\",\"error\",\"getfenv\",\"getmetatable\",\"ipairs\",\"load\",\n    \"loadfile\",\"loadstring\",\"module\",\"next\",\"pairs\",\"pcall\",\"print\",\"rawequal\",\"rawget\",\"rawset\",\"require\",\n    \"select\",\"setfenv\",\"setmetatable\",\"tonumber\",\"tostring\",\"type\",\"unpack\",\"xpcall\",\n\n    \"coroutine.create\",\"coroutine.resume\",\"coroutine.running\",\"coroutine.status\",\"coroutine.wrap\",\"coroutine.yield\",\n\n    \"debug.debug\",\"debug.getfenv\",\"debug.gethook\",\"debug.getinfo\",\"debug.getlocal\",\"debug.getmetatable\",\n    \"debug.getregistry\",\"debug.getupvalue\",\"debug.setfenv\",\"debug.sethook\",\"debug.setlocal\",\"debug.setmetatable\",\n    \"debug.setupvalue\",\"debug.traceback\",\n\n    \"close\",\"flush\",\"lines\",\"read\",\"seek\",\"setvbuf\",\"write\",\n\n    \"io.close\",\"io.flush\",\"io.input\",\"io.lines\",\"io.open\",\"io.output\",\"io.popen\",\"io.read\",\"io.stderr\",\"io.stdin\",\n    \"io.stdout\",\"io.tmpfile\",\"io.type\",\"io.write\",\n\n    \"math.abs\",\"math.acos\",\"math.asin\",\"math.atan\",\"math.atan2\",\"math.ceil\",\"math.cos\",\"math.cosh\",\"math.deg\",\n    \"math.exp\",\"math.floor\",\"math.fmod\",\"math.frexp\",\"math.huge\",\"math.ldexp\",\"math.log\",\"math.log10\",\"math.max\",\n    \"math.min\",\"math.modf\",\"math.pi\",\"math.pow\",\"math.rad\",\"math.random\",\"math.randomseed\",\"math.sin\",\"math.sinh\",\n    \"math.sqrt\",\"math.tan\",\"math.tanh\",\n\n    \"os.clock\",\"os.date\",\"os.difftime\",\"os.execute\",\"os.exit\",\"os.getenv\",\"os.remove\",\"os.rename\",\"os.setlocale\",\n    \"os.time\",\"os.tmpname\",\n\n    \"package.cpath\",\"package.loaded\",\"package.loaders\",\"package.loadlib\",\"package.path\",\"package.preload\",\n    \"package.seeall\",\n\n    \"string.byte\",\"string.char\",\"string.dump\",\"string.find\",\"string.format\",\"string.gmatch\",\"string.gsub\",\n    \"string.len\",\"string.lower\",\"string.match\",\"string.rep\",\"string.reverse\",\"string.sub\",\"string.upper\",\n\n    \"table.concat\",\"table.insert\",\"table.maxn\",\"table.remove\",\"table.sort\"\n  ]);\n  var keywords = wordRE([\"and\",\"break\",\"elseif\",\"false\",\"nil\",\"not\",\"or\",\"return\",\n                         \"true\",\"function\", \"end\", \"if\", \"then\", \"else\", \"do\",\n                         \"while\", \"repeat\", \"until\", \"for\", \"in\", \"local\" ]);\n\n  var indentTokens = wordRE([\"function\", \"if\",\"repeat\",\"do\", \"\\\\(\", \"{\"]);\n  var dedentTokens = wordRE([\"end\", \"until\", \"\\\\)\", \"}\"]);\n  var dedentPartial = prefixRE([\"end\", \"until\", \"\\\\)\", \"}\", \"else\", \"elseif\"]);\n\n  function readBracket(stream) {\n    var level = 0;\n    while (stream.eat(\"=\")) ++level;\n    stream.eat(\"[\");\n    return level;\n  }\n\n  function normal(stream, state) {\n    var ch = stream.next();\n    if (ch == \"-\" && stream.eat(\"-\")) {\n      if (stream.eat(\"[\") && stream.eat(\"[\"))\n        return (state.cur = bracketed(readBracket(stream), \"comment\"))(stream, state);\n      stream.skipToEnd();\n      return \"comment\";\n    }\n    if (ch == \"\\\"\" || ch == \"'\")\n      return (state.cur = string(ch))(stream, state);\n    if (ch == \"[\" && /[\\[=]/.test(stream.peek()))\n      return (state.cur = bracketed(readBracket(stream), \"string\"))(stream, state);\n    if (/\\d/.test(ch)) {\n      stream.eatWhile(/[\\w.%]/);\n      return \"number\";\n    }\n    if (/[\\w_]/.test(ch)) {\n      stream.eatWhile(/[\\w\\\\\\-_.]/);\n      return \"variable\";\n    }\n    return null;\n  }\n\n  function bracketed(level, style) {\n    return function(stream, state) {\n      var curlev = null, ch;\n      while ((ch = stream.next()) != null) {\n        if (curlev == null) {if (ch == \"]\") curlev = 0;}\n        else if (ch == \"=\") ++curlev;\n        else if (ch == \"]\" && curlev == level) { state.cur = normal; break; }\n        else curlev = null;\n      }\n      return style;\n    };\n  }\n\n  function string(quote) {\n    return function(stream, state) {\n      var escaped = false, ch;\n      while ((ch = stream.next()) != null) {\n        if (ch == quote && !escaped) break;\n        escaped = !escaped && ch == \"\\\\\";\n      }\n      if (!escaped) state.cur = normal;\n      return \"string\";\n    };\n  }\n\n  return {\n    startState: function(basecol) {\n      return {basecol: basecol || 0, indentDepth: 0, cur: normal};\n    },\n\n    token: function(stream, state) {\n      if (stream.eatSpace()) return null;\n      var style = state.cur(stream, state);\n      var word = stream.current();\n      if (style == \"variable\") {\n        if (keywords.test(word)) style = \"keyword\";\n        else if (builtins.test(word)) style = \"builtin\";\n        else if (specials.test(word)) style = \"variable-2\";\n      }\n      if ((style != \"comment\") && (style != \"string\")){\n        if (indentTokens.test(word)) ++state.indentDepth;\n        else if (dedentTokens.test(word)) --state.indentDepth;\n      }\n      return style;\n    },\n\n    indent: function(state, textAfter) {\n      var closing = dedentPartial.test(textAfter);\n      return state.basecol + indentUnit * (state.indentDepth - (closing ? 1 : 0));\n    },\n\n    electricInput: /^\\s*(?:end|until|else|\\)|\\})$/,\n    lineComment: \"--\",\n    blockCommentStart: \"--[[\",\n    blockCommentEnd: \"]]\"\n  };\n});\n\nCodeMirror.defineMIME(\"text/x-lua\", \"lua\");\n\n});\n"]}