{"version":3,"file":"lua-B3w2r80v.cjs","sources":["../../../node_modules/@codemirror/legacy-modes/mode/lua.js"],"sourcesContent":["function prefixRE(words) {\n  return new RegExp(\"^(?:\" + words.join(\"|\") + \")\", \"i\");\n}\nfunction wordRE(words) {\n  return new RegExp(\"^(?:\" + words.join(\"|\") + \")$\", \"i\");\n}\n\n// long list of standard functions from lua manual\nvar 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]);\nvar 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\nvar indentTokens = wordRE([\"function\", \"if\",\"repeat\",\"do\", \"\\\\(\", \"{\"]);\nvar dedentTokens = wordRE([\"end\", \"until\", \"\\\\)\", \"}\"]);\nvar dedentPartial = prefixRE([\"end\", \"until\", \"\\\\)\", \"}\", \"else\", \"elseif\"]);\n\nfunction readBracket(stream) {\n  var level = 0;\n  while (stream.eat(\"=\")) ++level;\n  stream.eat(\"[\");\n  return level;\n}\n\nfunction 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\nfunction 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\nfunction 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\nexport const lua = {\n  name: \"lua\",\n\n  startState: function() {\n    return {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    }\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, cx) {\n    var closing = dedentPartial.test(textAfter);\n    return state.basecol + cx.unit * (state.indentDepth - (closing ? 1 : 0));\n  },\n\n  languageData: {\n    indentOnInput: /^\\s*(?:end|until|else|\\)|\\})$/,\n    commentTokens: {line: \"--\", block: {open: \"--[[\", close: \"]]--\"}}\n  }\n};\n"],"names":["wordRE","words","RegExp","join","builtins","keywords","indentTokens","dedentTokens","dedentPartial","readBracket","stream","level","eat","normal","state","quote","ch","next","cur","bracketed","skipToEnd","escaped","test","peek","eatWhile","style","curlev","lua","name","startState","basecol","indentDepth","token","eatSpace","word","current","indent","textAfter","cx","closing","unit","languageData","indentOnInput","commentTokens","line","block","open","close"],"mappings":"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","x_google_ignoreList":[0]}