(this["webpackJsonpPlugin"] = this["webpackJsonpPlugin"] || []).push([[99],{

/***/ 959:
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/LICENSE
(function (mod) {
  if (( false ? undefined : _typeof(exports)) == "object" && ( false ? undefined : _typeof(module)) == "object") // CommonJS
    mod(__webpack_require__(266));else if (true) // AMD
    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(266)], __WEBPACK_AMD_DEFINE_FACTORY__ = (mod),
				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));else // Plain browser env
    {}
})(function (CodeMirror) {
  "use strict";

  CodeMirror.defineMode("spreadsheet", function () {
    return {
      startState: function startState() {
        return {
          stringType: null,
          stack: []
        };
      },
      token: function token(stream, state) {
        if (!stream) return; //check for state changes

        if (state.stack.length === 0) {
          //strings
          if (stream.peek() == '"' || stream.peek() == "'") {
            state.stringType = stream.peek();
            stream.next(); // Skip quote

            state.stack.unshift("string");
          }
        } //return state
        //stack has


        switch (state.stack[0]) {
          case "string":
            while (state.stack[0] === "string" && !stream.eol()) {
              if (stream.peek() === state.stringType) {
                stream.next(); // Skip quote

                state.stack.shift(); // Clear flag
              } else if (stream.peek() === "\\") {
                stream.next();
                stream.next();
              } else {
                stream.match(/^.[^\\\"\']*/);
              }
            }

            return "string";

          case "characterClass":
            while (state.stack[0] === "characterClass" && !stream.eol()) {
              if (!(stream.match(/^[^\]\\]+/) || stream.match(/^\\./))) state.stack.shift();
            }

            return "operator";
        }

        var peek = stream.peek(); //no stack

        switch (peek) {
          case "[":
            stream.next();
            state.stack.unshift("characterClass");
            return "bracket";

          case ":":
            stream.next();
            return "operator";

          case "\\":
            if (stream.match(/\\[a-z]+/)) return "string-2";else {
              stream.next();
              return "atom";
            }

          case ".":
          case ",":
          case ";":
          case "*":
          case "-":
          case "+":
          case "^":
          case "<":
          case "/":
          case "=":
            stream.next();
            return "atom";

          case "$":
            stream.next();
            return "builtin";
        }

        if (stream.match(/\d+/)) {
          if (stream.match(/^\w+/)) return "error";
          return "number";
        } else if (stream.match(/^[a-zA-Z_]\w*/)) {
          if (stream.match(/(?=[\(.])/, false)) return "keyword";
          return "variable-2";
        } else if (["[", "]", "(", ")", "{", "}"].indexOf(peek) != -1) {
          stream.next();
          return "bracket";
        } else if (!stream.eatSpace()) {
          stream.next();
        }

        return null;
      }
    };
  });
  CodeMirror.defineMIME("text/x-spreadsheet", "spreadsheet");
});
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(102)(module)))

/***/ })

}]);