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

/***/ 886:
/***/ (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") mod(__webpack_require__(266));else if (true) !(__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 {}
})(function (CodeMirror) {
  "use strict";

  CodeMirror.defineMode("cmake", function () {
    var variable_regex = /({)?[a-zA-Z0-9_]+(})?/;

    function tokenString(stream, state) {
      var current,
          prev,
          found_var = false;

      while (!stream.eol() && (current = stream.next()) != state.pending) {
        if (current === '$' && prev != '\\' && state.pending == '"') {
          found_var = true;
          break;
        }

        prev = current;
      }

      if (found_var) {
        stream.backUp(1);
      }

      if (current == state.pending) {
        state.continueString = false;
      } else {
        state.continueString = true;
      }

      return "string";
    }

    function tokenize(stream, state) {
      var ch = stream.next(); // Have we found a variable?

      if (ch === '$') {
        if (stream.match(variable_regex)) {
          return 'variable-2';
        }

        return 'variable';
      } // Should we still be looking for the end of a string?


      if (state.continueString) {
        // If so, go through the loop again
        stream.backUp(1);
        return tokenString(stream, state);
      } // Do we just have a function on our hands?
      // In 'cmake_minimum_required (VERSION 2.8.8)', 'cmake_minimum_required' is matched


      if (stream.match(/(\s+)?\w+\(/) || stream.match(/(\s+)?\w+\ \(/)) {
        stream.backUp(1);
        return 'def';
      }

      if (ch == "#") {
        stream.skipToEnd();
        return "comment";
      } // Have we found a string?


      if (ch == "'" || ch == '"') {
        // Store the type (single or double)
        state.pending = ch; // Perform the looping function to find the end

        return tokenString(stream, state);
      }

      if (ch == '(' || ch == ')') {
        return 'bracket';
      }

      if (ch.match(/[0-9]/)) {
        return 'number';
      }

      stream.eatWhile(/[\w-]/);
      return null;
    }

    return {
      startState: function startState() {
        var state = {};
        state.inDefinition = false;
        state.inInclude = false;
        state.continueString = false;
        state.pending = false;
        return state;
      },
      token: function token(stream, state) {
        if (stream.eatSpace()) return null;
        return tokenize(stream, state);
      }
    };
  });
  CodeMirror.defineMIME("text/x-cmake", "cmake");
});
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(102)(module)))

/***/ })

}]);