{"version":3,"sources":["../../node_modules/codemirror/mode/spreadsheet/spreadsheet.js"],"names":["mod","exports","module","require","define","amd","CodeMirror","defineMode","startState","stringType","stack","token","stream","state","length","peek","next","unshift","eol","shift","match","indexOf","eatSpace","defineMIME"],"mappings":"CAGA,SAAUA,GACR,SAAWC,UAAW,gBAAmBC,SAAU,SACjDF,EAAIG,QAAQ,6BACT,UAAWC,SAAU,YAAcA,OAAOC,IAC7CD,QAAQ,wBAAyBJ,OAEjCA,GAAIM,cACL,SAASA,GACV,YAEAA,GAAWC,WAAW,cAAe,WACnC,OACEC,WAAY,WACV,OACEC,WAAY,KACZC,WAGJC,MAAO,SAAUC,EAAQC,GACvB,IAAKD,EAAQ,MAGb,IAAIC,EAAMH,MAAMI,SAAW,EAAG,CAE5B,GAAKF,EAAOG,QAAU,KAASH,EAAOG,QAAU,IAAM,CACpDF,EAAMJ,WAAaG,EAAOG,MAC1BH,GAAOI,MACPH,GAAMH,MAAMO,QAAQ,WAMxB,OAAQJ,EAAMH,MAAM,IACpB,IAAK,SACH,MAAOG,EAAMH,MAAM,KAAO,WAAaE,EAAOM,MAAO,CACnD,GAAIN,EAAOG,SAAWF,EAAMJ,WAAY,CACtCG,EAAOI,MACPH,GAAMH,MAAMS,YACP,IAAIP,EAAOG,SAAW,KAAM,CACjCH,EAAOI,MACPJ,GAAOI,WACF,CACLJ,EAAOQ,MAAM,iBAGjB,MAAO,QAET,KAAK,iBACH,MAAOP,EAAMH,MAAM,KAAO,mBAAqBE,EAAOM,MAAO,CAC3D,KAAMN,EAAOQ,MAAM,cAAgBR,EAAOQ,MAAM,SAC9CP,EAAMH,MAAMS,QAEhB,MAAO,WAGT,GAAIJ,GAAOH,EAAOG,MAGlB,QAAQA,GACR,IAAK,IACHH,EAAOI,MACPH,GAAMH,MAAMO,QAAQ,iBACpB,OAAO,SACT,KAAK,IACHL,EAAOI,MACP,OAAO,UACT,KAAK,KACH,GAAIJ,EAAOQ,MAAM,YAAa,MAAO,eAChC,CACHR,EAAOI,MACP,OAAO,OAEX,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACHJ,EAAOI,MACP,OAAO,MACT,KAAK,IACHJ,EAAOI,MACP,OAAO,UAGT,GAAIJ,EAAOQ,MAAM,OAAQ,CACvB,GAAIR,EAAOQ,MAAM,QAAS,MAAO,OACjC,OAAO,aACF,IAAIR,EAAOQ,MAAM,iBAAkB,CACxC,GAAIR,EAAOQ,MAAM,YAAa,OAAQ,MAAO,SAC7C,OAAO,iBACF,KAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAKC,QAAQN,KAAU,EAAG,CAC7DH,EAAOI,MACP,OAAO,cACF,KAAKJ,EAAOU,WAAY,CAC7BV,EAAOI,OAET,MAAO,SAKbV,GAAWiB,WAAW,qBAAsB","file":"spreadsheet.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\n CodeMirror.defineMode(\"spreadsheet\", function () {\n return {\n startState: function () {\n return {\n stringType: null,\n stack: []\n };\n },\n token: function (stream, state) {\n if (!stream) return;\n\n //check for state changes\n if (state.stack.length === 0) {\n //strings\n if ((stream.peek() == '\"') || (stream.peek() == \"'\")) {\n state.stringType = stream.peek();\n stream.next(); // Skip quote\n state.stack.unshift(\"string\");\n }\n }\n\n //return state\n //stack has\n switch (state.stack[0]) {\n case \"string\":\n while (state.stack[0] === \"string\" && !stream.eol()) {\n if (stream.peek() === state.stringType) {\n stream.next(); // Skip quote\n state.stack.shift(); // Clear flag\n } else if (stream.peek() === \"\\\\\") {\n stream.next();\n stream.next();\n } else {\n stream.match(/^.[^\\\\\\\"\\']*/);\n }\n }\n return \"string\";\n\n case \"characterClass\":\n while (state.stack[0] === \"characterClass\" && !stream.eol()) {\n if (!(stream.match(/^[^\\]\\\\]+/) || stream.match(/^\\\\./)))\n state.stack.shift();\n }\n return \"operator\";\n }\n\n var peek = stream.peek();\n\n //no stack\n switch (peek) {\n case \"[\":\n stream.next();\n state.stack.unshift(\"characterClass\");\n return \"bracket\";\n case \":\":\n stream.next();\n return \"operator\";\n case \"\\\\\":\n if (stream.match(/\\\\[a-z]+/)) return \"string-2\";\n else {\n stream.next();\n return \"atom\";\n }\n case \".\":\n case \",\":\n case \";\":\n case \"*\":\n case \"-\":\n case \"+\":\n case \"^\":\n case \"<\":\n case \"/\":\n case \"=\":\n stream.next();\n return \"atom\";\n case \"$\":\n stream.next();\n return \"builtin\";\n }\n\n if (stream.match(/\\d+/)) {\n if (stream.match(/^\\w+/)) return \"error\";\n return \"number\";\n } else if (stream.match(/^[a-zA-Z_]\\w*/)) {\n if (stream.match(/(?=[\\(.])/, false)) return \"keyword\";\n return \"variable-2\";\n } else if ([\"[\", \"]\", \"(\", \")\", \"{\", \"}\"].indexOf(peek) != -1) {\n stream.next();\n return \"bracket\";\n } else if (!stream.eatSpace()) {\n stream.next();\n }\n return null;\n }\n };\n });\n\n CodeMirror.defineMIME(\"text/x-spreadsheet\", \"spreadsheet\");\n});\n"]}