1{"version":3,"sources":["../../node_modules/codemirror/mode/q/q.js"],"names":["mod","exports","module","require","define","amd","CodeMirror","defineMode","config","indentUnit","curPunc","keywords","buildRE","E","w","RegExp","join","tokenBase","stream","state","sol","c","next","tokenize","tokenLineComment","eol","test","peek","skipToEnd","current","tokenCommentToEOF","tokenString","eatWhile","t","backUp","match","tokenBlockComment","f","escaped","end","pushContext","type","col","context","prev","indent","popContext","startState","token","align","indentation","style","column","textAfter","firstChar","charAt","closing","defineMIME"],"mappings":"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","file":"q.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\"));\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(\"q\",function(config){\n  var indentUnit=config.indentUnit,\n      curPunc,\n      keywords=buildRE([\"abs\",\"acos\",\"aj\",\"aj0\",\"all\",\"and\",\"any\",\"asc\",\"asin\",\"asof\",\"atan\",\"attr\",\"avg\",\"avgs\",\"bin\",\"by\",\"ceiling\",\"cols\",\"cor\",\"cos\",\"count\",\"cov\",\"cross\",\"csv\",\"cut\",\"delete\",\"deltas\",\"desc\",\"dev\",\"differ\",\"distinct\",\"div\",\"do\",\"each\",\"ej\",\"enlist\",\"eval\",\"except\",\"exec\",\"exit\",\"exp\",\"fby\",\"fills\",\"first\",\"fkeys\",\"flip\",\"floor\",\"from\",\"get\",\"getenv\",\"group\",\"gtime\",\"hclose\",\"hcount\",\"hdel\",\"hopen\",\"hsym\",\"iasc\",\"idesc\",\"if\",\"ij\",\"in\",\"insert\",\"inter\",\"inv\",\"key\",\"keys\",\"last\",\"like\",\"list\",\"lj\",\"load\",\"log\",\"lower\",\"lsq\",\"ltime\",\"ltrim\",\"mavg\",\"max\",\"maxs\",\"mcount\",\"md5\",\"mdev\",\"med\",\"meta\",\"min\",\"mins\",\"mmax\",\"mmin\",\"mmu\",\"mod\",\"msum\",\"neg\",\"next\",\"not\",\"null\",\"or\",\"over\",\"parse\",\"peach\",\"pj\",\"plist\",\"prd\",\"prds\",\"prev\",\"prior\",\"rand\",\"rank\",\"ratios\",\"raze\",\"read0\",\"read1\",\"reciprocal\",\"reverse\",\"rload\",\"rotate\",\"rsave\",\"rtrim\",\"save\",\"scan\",\"select\",\"set\",\"setenv\",\"show\",\"signum\",\"sin\",\"sqrt\",\"ss\",\"ssr\",\"string\",\"sublist\",\"sum\",\"sums\",\"sv\",\"system\",\"tables\",\"tan\",\"til\",\"trim\",\"txf\",\"type\",\"uj\",\"ungroup\",\"union\",\"update\",\"upper\",\"upsert\",\"value\",\"var\",\"view\",\"views\",\"vs\",\"wavg\",\"where\",\"where\",\"while\",\"within\",\"wj\",\"wj1\",\"wsum\",\"xasc\",\"xbar\",\"xcol\",\"xcols\",\"xdesc\",\"xexp\",\"xgroup\",\"xkey\",\"xlog\",\"xprev\",\"xrank\"]),\n      E=/[|/&^!+:\\\\\\-*%$=~#;@><,?_\\'\\\"\\[\\(\\]\\)\\s{}]/;\n  function buildRE(w){return new RegExp(\"^(\"+w.join(\"|\")+\")$\");}\n  function tokenBase(stream,state){\n    var sol=stream.sol(),c=stream.next();\n    curPunc=null;\n    if(sol)\n      if(c==\"/\")\n        return(state.tokenize=tokenLineComment)(stream,state);\n      else if(c==\"\\\\\"){\n        if(stream.eol()||/\\s/.test(stream.peek()))\n          return stream.skipToEnd(),/^\\\\\\s*$/.test(stream.current())?(state.tokenize=tokenCommentToEOF)(stream):state.tokenize=tokenBase,\"comment\";\n        else\n          return state.tokenize=tokenBase,\"builtin\";\n      }\n    if(/\\s/.test(c))\n      return stream.peek()==\"/\"?(stream.skipToEnd(),\"comment\"):\"whitespace\";\n    if(c=='\"')\n      return(state.tokenize=tokenString)(stream,state);\n    if(c=='`')\n      return stream.eatWhile(/[A-Za-z\\d_:\\/.]/),\"symbol\";\n    if((\".\"==c&&/\\d/.test(stream.peek()))||/\\d/.test(c)){\n      var t=null;\n      stream.backUp(1);\n      if(stream.match(/^\\d{4}\\.\\d{2}(m|\\.\\d{2}([DT](\\d{2}(:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?)?)?)?)/)\n      || stream.match(/^\\d+D(\\d{2}(:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?)?)/)\n      || stream.match(/^\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?/)\n      || stream.match(/^\\d+[ptuv]{1}/))\n        t=\"temporal\";\n      else if(stream.match(/^0[NwW]{1}/)\n      || stream.match(/^0x[\\da-fA-F]*/)\n      || stream.match(/^[01]+[b]{1}/)\n      || stream.match(/^\\d+[chijn]{1}/)\n      || stream.match(/-?\\d*(\\.\\d*)?(e[+\\-]?\\d+)?(e|f)?/))\n        t=\"number\";\n      return(t&&(!(c=stream.peek())||E.test(c)))?t:(stream.next(),\"error\");\n    }\n    if(/[A-Za-z]|\\./.test(c))\n      return stream.eatWhile(/[A-Za-z._\\d]/),keywords.test(stream.current())?\"keyword\":\"variable\";\n    if(/[|/&^!+:\\\\\\-*%$=~#;@><\\.,?_\\']/.test(c))\n      return null;\n    if(/[{}\\(\\[\\]\\)]/.test(c))\n      return null;\n    return\"error\";\n  }\n  function tokenLineComment(stream,state){\n    return stream.skipToEnd(),/\\/\\s*$/.test(stream.current())?(state.tokenize=tokenBlockComment)(stream,state):(state.tokenize=tokenBase),\"comment\";\n  }\n  function tokenBlockComment(stream,state){\n    var f=stream.sol()&&stream.peek()==\"\\\\\";\n    stream.skipToEnd();\n    if(f&&/^\\\\\\s*$/.test(stream.current()))\n      state.tokenize=tokenBase;\n    return\"comment\";\n  }\n  function tokenCommentToEOF(stream){return stream.skipToEnd(),\"comment\";}\n  function tokenString(stream,state){\n    var escaped=false,next,end=false;\n    while((next=stream.next())){\n      if(next==\"\\\"\"&&!escaped){end=true;break;}\n      escaped=!escaped&&next==\"\\\\\";\n    }\n    if(end)state.tokenize=tokenBase;\n    return\"string\";\n  }\n  function pushContext(state,type,col){state.context={prev:state.context,indent:state.indent,col:col,type:type};}\n  function popContext(state){state.indent=state.context.indent;state.context=state.context.prev;}\n  return{\n    startState:function(){\n      return{tokenize:tokenBase,\n             context:null,\n             indent:0,\n             col:0};\n    },\n    token:function(stream,state){\n      if(stream.sol()){\n        if(state.context&&state.context.align==null)\n          state.context.align=false;\n        state.indent=stream.indentation();\n      }\n      //if (stream.eatSpace()) return null;\n      var style=state.tokenize(stream,state);\n      if(style!=\"comment\"&&state.context&&state.context.align==null&&state.context.type!=\"pattern\"){\n        state.context.align=true;\n      }\n      if(curPunc==\"(\")pushContext(state,\")\",stream.column());\n      else if(curPunc==\"[\")pushContext(state,\"]\",stream.column());\n      else if(curPunc==\"{\")pushContext(state,\"}\",stream.column());\n      else if(/[\\]\\}\\)]/.test(curPunc)){\n        while(state.context&&state.context.type==\"pattern\")popContext(state);\n        if(state.context&&curPunc==state.context.type)popContext(state);\n      }\n      else if(curPunc==\".\"&&state.context&&state.context.type==\"pattern\")popContext(state);\n      else if(/atom|string|variable/.test(style)&&state.context){\n        if(/[\\}\\]]/.test(state.context.type))\n          pushContext(state,\"pattern\",stream.column());\n        else if(state.context.type==\"pattern\"&&!state.context.align){\n          state.context.align=true;\n          state.context.col=stream.column();\n        }\n      }\n      return style;\n    },\n    indent:function(state,textAfter){\n      var firstChar=textAfter&&textAfter.charAt(0);\n      var context=state.context;\n      if(/[\\]\\}]/.test(firstChar))\n        while (context&&context.type==\"pattern\")context=context.prev;\n      var closing=context&&firstChar==context.type;\n      if(!context)\n        return 0;\n      else if(context.type==\"pattern\")\n        return context.col;\n      else if(context.align)\n        return context.col+(closing?0:1);\n      else\n        return context.indent+(closing?0:indentUnit);\n    }\n  };\n});\nCodeMirror.defineMIME(\"text/x-q\",\"q\");\n\n});\n"]}