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