UNPKG

yanzi-monaco-editorbb

Version:

这是一个基于微软的monaco和vue封装的一个代码编辑器,浏览器可运行。主要功能有:html、javascript、css代码编辑,高亮显示,语法错误提示等,可以帮您的项目很快的拥有一个web端的代码编辑器

1,399 lines (1,093 loc) 12.1 MB
module.exports = /******/ (function(modules) { // webpackBootstrap /******/ // install a JSONP callback for chunk loading /******/ function webpackJsonpCallback(data) { /******/ var chunkIds = data[0]; /******/ var moreModules = data[1]; /******/ /******/ /******/ // add "moreModules" to the modules object, /******/ // then flag all "chunkIds" as loaded and fire callback /******/ var moduleId, chunkId, i = 0, resolves = []; /******/ for(;i < chunkIds.length; i++) { /******/ chunkId = chunkIds[i]; /******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) { /******/ resolves.push(installedChunks[chunkId][0]); /******/ } /******/ installedChunks[chunkId] = 0; /******/ } /******/ for(moduleId in moreModules) { /******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { /******/ modules[moduleId] = moreModules[moduleId]; /******/ } /******/ } /******/ if(parentJsonpFunction) parentJsonpFunction(data); /******/ /******/ while(resolves.length) { /******/ resolves.shift()(); /******/ } /******/ /******/ }; /******/ /******/ /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // object to store loaded and loading chunks /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // Promise = chunk loading, 0 = chunk loaded /******/ var installedChunks = { /******/ 3: 0 /******/ }; /******/ /******/ /******/ /******/ // script path function /******/ function jsonpScriptSrc(chunkId) { /******/ return __webpack_require__.p + "yanziMonacoEditor.common." + ({}[chunkId]||chunkId) + ".js" /******/ } /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ // This file contains only the entry chunk. /******/ // The chunk loading function for additional chunks /******/ __webpack_require__.e = function requireEnsure(chunkId) { /******/ var promises = []; /******/ /******/ /******/ // JSONP chunk loading for javascript /******/ /******/ var installedChunkData = installedChunks[chunkId]; /******/ if(installedChunkData !== 0) { // 0 means "already installed". /******/ /******/ // a Promise means "currently loading". /******/ if(installedChunkData) { /******/ promises.push(installedChunkData[2]); /******/ } else { /******/ // setup Promise in chunk cache /******/ var promise = new Promise(function(resolve, reject) { /******/ installedChunkData = installedChunks[chunkId] = [resolve, reject]; /******/ }); /******/ promises.push(installedChunkData[2] = promise); /******/ /******/ // start chunk loading /******/ var script = document.createElement('script'); /******/ var onScriptComplete; /******/ /******/ script.charset = 'utf-8'; /******/ script.timeout = 120; /******/ if (__webpack_require__.nc) { /******/ script.setAttribute("nonce", __webpack_require__.nc); /******/ } /******/ script.src = jsonpScriptSrc(chunkId); /******/ /******/ // create error before stack unwound to get useful stacktrace later /******/ var error = new Error(); /******/ onScriptComplete = function (event) { /******/ // avoid mem leaks in IE. /******/ script.onerror = script.onload = null; /******/ clearTimeout(timeout); /******/ var chunk = installedChunks[chunkId]; /******/ if(chunk !== 0) { /******/ if(chunk) { /******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); /******/ var realSrc = event && event.target && event.target.src; /******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; /******/ error.name = 'ChunkLoadError'; /******/ error.type = errorType; /******/ error.request = realSrc; /******/ chunk[1](error); /******/ } /******/ installedChunks[chunkId] = undefined; /******/ } /******/ }; /******/ var timeout = setTimeout(function(){ /******/ onScriptComplete({ type: 'timeout', target: script }); /******/ }, 120000); /******/ script.onerror = script.onload = onScriptComplete; /******/ document.head.appendChild(script); /******/ } /******/ } /******/ return Promise.all(promises); /******/ }; /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ // on error function for async loading /******/ __webpack_require__.oe = function(err) { console.error(err); throw err; }; /******/ /******/ var jsonpArray = (typeof self !== 'undefined' ? self : this)["webpackJsonpyanziMonacoEditor"] = (typeof self !== 'undefined' ? self : this)["webpackJsonpyanziMonacoEditor"] || []; /******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); /******/ jsonpArray.push = webpackJsonpCallback; /******/ jsonpArray = jsonpArray.slice(); /******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); /******/ var parentJsonpFunction = oldJsonpFunction; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = "fb15"); /******/ }) /************************************************************************/ /******/ ({ /***/ "00a3": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return standardMouseMoveMerger; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return GlobalMouseMoveMonitor; }); /* harmony import */ var _Users_hexiaochao_Downloads_yanzi_moncao_master_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("b85c"); /* harmony import */ var _Users_hexiaochao_Downloads_yanzi_moncao_master_node_modules_babel_runtime_helpers_esm_classCallCheck_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("d4ec"); /* harmony import */ var _Users_hexiaochao_Downloads_yanzi_moncao_master_node_modules_babel_runtime_helpers_esm_createClass_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("bee2"); /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("d81d"); /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("11f7"); /* harmony import */ var _iframe_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("e757"); /* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("5d28"); /* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("a666"); /* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("30db"); /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ function standardMouseMoveMerger(lastEvent, currentEvent) { var ev = new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_6__[/* StandardMouseEvent */ "a"](currentEvent); ev.preventDefault(); return { leftButton: ev.leftButton, buttons: ev.buttons, posx: ev.posx, posy: ev.posy }; } var GlobalMouseMoveMonitor = /*#__PURE__*/function () { function GlobalMouseMoveMonitor() { Object(_Users_hexiaochao_Downloads_yanzi_moncao_master_node_modules_babel_runtime_helpers_esm_classCallCheck_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(this, GlobalMouseMoveMonitor); this._hooks = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__[/* DisposableStore */ "b"](); this._mouseMoveEventMerger = null; this._mouseMoveCallback = null; this._onStopCallback = null; } Object(_Users_hexiaochao_Downloads_yanzi_moncao_master_node_modules_babel_runtime_helpers_esm_createClass_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(GlobalMouseMoveMonitor, [{ key: "dispose", value: function dispose() { this.stopMonitoring(false); this._hooks.dispose(); } }, { key: "stopMonitoring", value: function stopMonitoring(invokeStopCallback, browserEvent) { if (!this.isMonitoring()) { // Not monitoring return; } // Unhook this._hooks.clear(); this._mouseMoveEventMerger = null; this._mouseMoveCallback = null; var onStopCallback = this._onStopCallback; this._onStopCallback = null; if (invokeStopCallback && onStopCallback) { onStopCallback(browserEvent); } } }, { key: "isMonitoring", value: function isMonitoring() { return !!this._mouseMoveEventMerger; } }, { key: "startMonitoring", value: function startMonitoring(initialElement, initialButtons, mouseMoveEventMerger, mouseMoveCallback, onStopCallback) { var _this = this; if (this.isMonitoring()) { // I am already hooked return; } this._mouseMoveEventMerger = mouseMoveEventMerger; this._mouseMoveCallback = mouseMoveCallback; this._onStopCallback = onStopCallback; var windowChain = _iframe_js__WEBPACK_IMPORTED_MODULE_5__[/* IframeUtils */ "a"].getSameOriginWindowChain(); var mouseMove = _common_platform_js__WEBPACK_IMPORTED_MODULE_8__[/* isIOS */ "f"] ? 'pointermove' : 'mousemove'; // Safari sends wrong event, workaround for #122653 var mouseUp = 'mouseup'; var listenTo = windowChain.map(function (element) { return element.window.document; }); var shadowRoot = _dom_js__WEBPACK_IMPORTED_MODULE_4__["getShadowRoot"](initialElement); if (shadowRoot) { listenTo.unshift(shadowRoot); } var _iterator = Object(_Users_hexiaochao_Downloads_yanzi_moncao_master_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(listenTo), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var element = _step.value; this._hooks.add(_dom_js__WEBPACK_IMPORTED_MODULE_4__["addDisposableThrottledListener"](element, mouseMove, function (data) { if (data.buttons !== initialButtons) { // Buttons state has changed in the meantime _this.stopMonitoring(true); return; } _this._mouseMoveCallback(data); }, function (lastEvent, currentEvent) { return _this._mouseMoveEventMerger(lastEvent, currentEvent); })); this._hooks.add(_dom_js__WEBPACK_IMPORTED_MODULE_4__["addDisposableListener"](element, mouseUp, function (e) { return _this.stopMonitoring(true); })); } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } if (_iframe_js__WEBPACK_IMPORTED_MODULE_5__[/* IframeUtils */ "a"].hasDifferentOriginAncestor()) { var lastSameOriginAncestor = windowChain[windowChain.length - 1]; // We might miss a mouse up if it happens outside the iframe // This one is for Chrome this._hooks.add(_dom_js__WEBPACK_IMPORTED_MODULE_4__["addDisposableListener"](lastSameOriginAncestor.window.document, 'mouseout', function (browserEvent) { var e = new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_6__[/* StandardMouseEvent */ "a"](browserEvent); if (e.target.tagName.toLowerCase() === 'html') { _this.stopMonitoring(true); } })); // This one is for FF this._hooks.add(_dom_js__WEBPACK_IMPORTED_MODULE_4__["addDisposableListener"](lastSameOriginAncestor.window.document, 'mouseover', function (browserEvent) { var e = new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_6__[/* StandardMouseEvent */ "a"](browserEvent); if (e.target.tagName.toLowerCase() === 'html') { _this.stopMonitoring(true); } })); // This one is for IE this._hooks.add(_dom_js__WEBPACK_IMPORTED_MODULE_4__["addDisposableListener"](lastSameOriginAncestor.window.document.body, 'mouseleave', function (browserEvent) { _this.stopMonitoring(true); })); } } }]); return GlobalMouseMoveMonitor; }(); /***/ }), /***/ "00b4": /***/ (function(module, exports, __webpack_require__) { "use strict"; // TODO: Remove from `core-js@4` since it's moved to entry points __webpack_require__("ac1f"); var $ = __webpack_require__("23e7"); var global = __webpack_require__("da84"); var call = __webpack_require__("c65b"); var uncurryThis = __webpack_require__("e330"); var isCallable = __webpack_require__("1626"); var isObject = __webpack_require__("861d"); var DELEGATES_TO_EXEC = function () { var execCalled = false; var re = /[ac]/; re.exec = function () { execCalled = true; return /./.exec.apply(this, arguments); }; return re.test('abc') === true && execCalled; }(); var Error = global.Error; var un$Test = uncurryThis(/./.test); // `RegExp.prototype.test` method // https://tc39.es/ecma262/#sec-regexp.prototype.test $({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, { test: function (str) { var exec = this.exec; if (!isCallable(exec)) return un$Test(this, str); var result = call(exec, this, str); if (result !== null && !isObject(result)) { throw new Error('RegExp exec method returned something other than an Object or null'); } return !!result; } }); /***/ }), /***/ "00ee": /***/ (function(module, exports, __webpack_require__) { var wellKnownSymbol = __webpack_require__("b622"); var TO_STRING_TAG = wellKnownSymbol('toStringTag'); var test = {}; test[TO_STRING_TAG] = 'z'; module.exports = String(test) === '[object z]'; /***/ }), /***/ "0184": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ ILanguageConfigurationService; }); __webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ LanguageConfigurationRegistry; }); // UNUSED EXPORTS: LanguageConfigurationServiceChangeEvent, LanguageConfigurationService, LanguageConfigurationChangeEvent, LanguageConfigurationRegistryImpl, ResolvedLanguageConfiguration // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js var createForOfIteratorHelper = __webpack_require__("b85c"); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules var slicedToArray = __webpack_require__("3835"); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js var inherits = __webpack_require__("262e"); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createSuper.js + 1 modules var createSuper = __webpack_require__("2caf"); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js var classCallCheck = __webpack_require__("d4ec"); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js var createClass = __webpack_require__("bee2"); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js var esm_typeof = __webpack_require__("53ca"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js var es_object_get_own_property_descriptor = __webpack_require__("e439"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js var es_object_to_string = __webpack_require__("d3b7"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.reflect.to-string-tag.js var es_reflect_to_string_tag = __webpack_require__("f8c9"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js var es_array_iterator = __webpack_require__("e260"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.map.js var es_map = __webpack_require__("4ec9"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.iterator.js var es_string_iterator = __webpack_require__("3ca3"); // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js var web_dom_collections_iterator = __webpack_require__("ddb0"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.js var es_set = __webpack_require__("6062"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.values.js var es_object_values = __webpack_require__("07ac"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js var es_array_map = __webpack_require__("d81d"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js var es_array_filter = __webpack_require__("4de4"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.error.cause.js var es_error_cause = __webpack_require__("d9e2"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.exec.js var es_regexp_exec = __webpack_require__("ac1f"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.test.js var es_regexp_test = __webpack_require__("00b4"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.splice.js var es_array_splice = __webpack_require__("a434"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.sort.js var es_array_sort = __webpack_require__("4e82"); // EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/event.js var common_event = __webpack_require__("308f"); // EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js var lifecycle = __webpack_require__("a666"); // EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/strings.js + 1 modules var strings = __webpack_require__("3742"); // EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/core/wordHelper.js var wordHelper = __webpack_require__("879b"); // EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/languages/languageConfiguration.js var languageConfiguration = __webpack_require__("3d70"); // EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/languages/supports.js var supports = __webpack_require__("a758"); // CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/languages/supports/characterPair.js /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ var characterPair_CharacterPairSupport = /*#__PURE__*/function () { function CharacterPairSupport(config) { Object(classCallCheck["a" /* default */])(this, CharacterPairSupport); if (config.autoClosingPairs) { this._autoClosingPairs = config.autoClosingPairs.map(function (el) { return new languageConfiguration["c" /* StandardAutoClosingPairConditional */](el); }); } else if (config.brackets) { this._autoClosingPairs = config.brackets.map(function (b) { return new languageConfiguration["c" /* StandardAutoClosingPairConditional */]({ open: b[0], close: b[1] }); }); } else { this._autoClosingPairs = []; } if (config.colorizedBracketPairs) { this._colorizedBracketPairs = filterValidBrackets(config.colorizedBracketPairs.map(function (b) { return [b[0], b[1]]; })); } else if (config.brackets) { this._colorizedBracketPairs = filterValidBrackets(config.brackets.map(function (b) { return [b[0], b[1]]; }) // Many languages set < ... > as bracket pair, even though they also use it as comparison operator. // This leads to problems when colorizing this bracket, so we exclude it by default. // Languages can still override this by configuring `colorizedBracketPairs` // https://github.com/microsoft/vscode/issues/132476 .filter(function (p) { return !(p[0] === '<' && p[1] === '>'); })); } else { this._colorizedBracketPairs = []; } if (config.__electricCharacterSupport && config.__electricCharacterSupport.docComment) { var docComment = config.__electricCharacterSupport.docComment; // IDocComment is legacy, only partially supported this._autoClosingPairs.push(new languageConfiguration["c" /* StandardAutoClosingPairConditional */]({ open: docComment.open, close: docComment.close || '' })); } this._autoCloseBefore = typeof config.autoCloseBefore === 'string' ? config.autoCloseBefore : CharacterPairSupport.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED; this._surroundingPairs = config.surroundingPairs || this._autoClosingPairs; } Object(createClass["a" /* default */])(CharacterPairSupport, [{ key: "getAutoClosingPairs", value: function getAutoClosingPairs() { return this._autoClosingPairs; } }, { key: "getAutoCloseBeforeSet", value: function getAutoCloseBeforeSet() { return this._autoCloseBefore; } }, { key: "getSurroundingPairs", value: function getSurroundingPairs() { return this._surroundingPairs; } }, { key: "getColorizedBrackets", value: function getColorizedBrackets() { return this._colorizedBracketPairs; } }]); return CharacterPairSupport; }(); characterPair_CharacterPairSupport.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED = ';:.,=}])> \n\t'; function filterValidBrackets(bracketPairs) { return bracketPairs.filter(function (_ref) { var _ref2 = Object(slicedToArray["a" /* default */])(_ref, 2), open = _ref2[0], close = _ref2[1]; return open !== '' && close !== ''; }); } // EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/arrays.js var arrays = __webpack_require__("e8e3"); // EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/languages/supports/richEditBrackets.js var supports_richEditBrackets = __webpack_require__("83fe"); // CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/languages/supports/electricCharacter.js /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ var electricCharacter_BracketElectricCharacterSupport = /*#__PURE__*/function () { function BracketElectricCharacterSupport(richEditBrackets) { Object(classCallCheck["a" /* default */])(this, BracketElectricCharacterSupport); this._richEditBrackets = richEditBrackets; } Object(createClass["a" /* default */])(BracketElectricCharacterSupport, [{ key: "getElectricCharacters", value: function getElectricCharacters() { var result = []; if (this._richEditBrackets) { var _iterator = Object(createForOfIteratorHelper["a" /* default */])(this._richEditBrackets.brackets), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var bracket = _step.value; var _iterator2 = Object(createForOfIteratorHelper["a" /* default */])(bracket.close), _step2; try { for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var close = _step2.value; var lastChar = close.charAt(close.length - 1); result.push(lastChar); } } catch (err) { _iterator2.e(err); } finally { _iterator2.f(); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } } return Object(arrays["g" /* distinct */])(result); } }, { key: "onElectricCharacter", value: function onElectricCharacter(character, context, column) { if (!this._richEditBrackets || this._richEditBrackets.brackets.length === 0) { return null; } var tokenIndex = context.findTokenIndexAtOffset(column - 1); if (Object(supports["b" /* ignoreBracketsInToken */])(context.getStandardTokenType(tokenIndex))) { return null; } var reversedBracketRegex = this._richEditBrackets.reversedRegex; var text = context.getLineContent().substring(0, column - 1) + character; var r = supports_richEditBrackets["a" /* BracketsUtils */].findPrevBracketInRange(reversedBracketRegex, 1, text, 0, text.length); if (!r) { return null; } var bracketText = text.substring(r.startColumn - 1, r.endColumn - 1).toLowerCase(); var isOpen = this._richEditBrackets.textIsOpenBracket[bracketText]; if (isOpen) { return null; } var textBeforeBracket = context.getActualLineContentBefore(r.startColumn - 1); if (!/^\s*$/.test(textBeforeBracket)) { // There is other text on the line before the bracket return null; } return { matchOpenBracket: bracketText }; } }]); return BracketElectricCharacterSupport; }(); // CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/languages/supports/indentRules.js /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ function resetGlobalRegex(reg) { if (reg.global) { reg.lastIndex = 0; } return true; } var indentRules_IndentRulesSupport = /*#__PURE__*/function () { function IndentRulesSupport(indentationRules) { Object(classCallCheck["a" /* default */])(this, IndentRulesSupport); this._indentationRules = indentationRules; } Object(createClass["a" /* default */])(IndentRulesSupport, [{ key: "shouldIncrease", value: function shouldIncrease(text) { if (this._indentationRules) { if (this._indentationRules.increaseIndentPattern && resetGlobalRegex(this._indentationRules.increaseIndentPattern) && this._indentationRules.increaseIndentPattern.test(text)) { return true; } // if (this._indentationRules.indentNextLinePattern && this._indentationRules.indentNextLinePattern.test(text)) { // return true; // } } return false; } }, { key: "shouldDecrease", value: function shouldDecrease(text) { if (this._indentationRules && this._indentationRules.decreaseIndentPattern && resetGlobalRegex(this._indentationRules.decreaseIndentPattern) && this._indentationRules.decreaseIndentPattern.test(text)) { return true; } return false; } }, { key: "shouldIndentNextLine", value: function shouldIndentNextLine(text) { if (this._indentationRules && this._indentationRules.indentNextLinePattern && resetGlobalRegex(this._indentationRules.indentNextLinePattern) && this._indentationRules.indentNextLinePattern.test(text)) { return true; } return false; } }, { key: "shouldIgnore", value: function shouldIgnore(text) { // the text matches `unIndentedLinePattern` if (this._indentationRules && this._indentationRules.unIndentedLinePattern && resetGlobalRegex(this._indentationRules.unIndentedLinePattern) && this._indentationRules.unIndentedLinePattern.test(text)) { return true; } return false; } }, { key: "getIndentMetadata", value: function getIndentMetadata(text) { var ret = 0; if (this.shouldIncrease(text)) { ret += 1 /* INCREASE_MASK */ ; } if (this.shouldDecrease(text)) { ret += 2 /* DECREASE_MASK */ ; } if (this.shouldIndentNextLine(text)) { ret += 4 /* INDENT_NEXTLINE_MASK */ ; } if (this.shouldIgnore(text)) { ret += 8 /* UNINDENT_MASK */ ; } return ret; } }]); return IndentRulesSupport; }(); // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js var web_dom_collections_for_each = __webpack_require__("159b"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.constructor.js var es_regexp_constructor = __webpack_require__("4d63"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.dot-all.js var es_regexp_dot_all = __webpack_require__("c607"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.sticky.js var es_regexp_sticky = __webpack_require__("2c3e"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js var es_regexp_to_string = __webpack_require__("25f0"); // EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/base/common/errors.js var errors = __webpack_require__("fdcc"); // CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/languages/supports/onEnter.js /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ var onEnter_OnEnterSupport = /*#__PURE__*/function () { function OnEnterSupport(opts) { var _this = this; Object(classCallCheck["a" /* default */])(this, OnEnterSupport); opts = opts || {}; opts.brackets = opts.brackets || [['(', ')'], ['{', '}'], ['[', ']']]; this._brackets = []; opts.brackets.forEach(function (bracket) { var openRegExp = OnEnterSupport._createOpenBracketRegExp(bracket[0]); var closeRegExp = OnEnterSupport._createCloseBracketRegExp(bracket[1]); if (openRegExp && closeRegExp) { _this._brackets.push({ open: bracket[0], openRegExp: openRegExp, close: bracket[1], closeRegExp: closeRegExp }); } }); this._regExpRules = opts.onEnterRules || []; } Object(createClass["a" /* default */])(OnEnterSupport, [{ key: "onEnter", value: function onEnter(autoIndent, previousLineText, beforeEnterText, afterEnterText) { // (1): `regExpRules` if (autoIndent >= 3 /* Advanced */ ) { for (var i = 0, len = this._regExpRules.length; i < len; i++) { var rule = this._regExpRules[i]; var regResult = [{ reg: rule.beforeText, text: beforeEnterText }, { reg: rule.afterText, text: afterEnterText }, { reg: rule.previousLineText, text: previousLineText }].every(function (obj) { if (!obj.reg) { return true; } obj.reg.lastIndex = 0; // To disable the effect of the "g" flag. return obj.reg.test(obj.text); }); if (regResult) { return rule.action; } } } // (2): Special indent-outdent if (autoIndent >= 2 /* Brackets */ ) { if (beforeEnterText.length > 0 && afterEnterText.length > 0) { for (var _i = 0, _len = this._brackets.length; _i < _len; _i++) { var bracket = this._brackets[_i]; if (bracket.openRegExp.test(beforeEnterText) && bracket.closeRegExp.test(afterEnterText)) { return { indentAction: languageConfiguration["b" /* IndentAction */].IndentOutdent }; } } } } // (4): Open bracket based logic if (autoIndent >= 2 /* Brackets */ ) { if (beforeEnterText.length > 0) { for (var _i2 = 0, _len2 = this._brackets.length; _i2 < _len2; _i2++) { var _bracket = this._brackets[_i2]; if (_bracket.openRegExp.test(beforeEnterText)) { return { indentAction: languageConfiguration["b" /* IndentAction */].Indent }; } } } } return null; } }], [{ key: "_createOpenBracketRegExp", value: function _createOpenBracketRegExp(bracket) { var str = strings["t" /* escapeRegExpCharacters */](bracket); if (!/\B/.test(str.charAt(0))) { str = '\\b' + str; } str += '\\s*$'; return OnEnterSupport._safeRegExp(str); } }, { key: "_createCloseBracketRegExp", value: function _createCloseBracketRegExp(bracket) { var str = strings["t" /* escapeRegExpCharacters */](bracket); if (!/\B/.test(str.charAt(str.length - 1))) { str = str + '\\b'; } str = '^\\s*' + str; return OnEnterSupport._safeRegExp(str); } }, { key: "_safeRegExp", value: function _safeRegExp(def) { try { return new RegExp(def); } catch (err) { Object(errors["g" /* onUnexpectedError */])(err); return null; } } }]); return OnEnterSupport; }(); // EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/instantiation/common/instantiation.js var instantiation = __webpack_require__("0a0f"); // EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/configuration/common/configuration.js var common_configuration = __webpack_require__("fbba"); // EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/services/language.js var language = __webpack_require__("8c92"); // EXTERNAL MODULE: ./node_modules/monaco-editor/esm/vs/platform/instantiation/common/extensions.js var extensions = __webpack_require__("f5f3"); // CONCATENATED MODULE: ./node_modules/monaco-editor/esm/vs/editor/common/languages/languageConfigurationRegistry.js /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ var __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if ((typeof Reflect === "undefined" ? "undefined" : Object(esm_typeof["a" /* default */])(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __param = undefined && undefined.__param || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); }; }; var languageConfigurationRegistry_LanguageConfigurationServiceChangeEvent = /*#__PURE__*/function () { function LanguageConfigurationServiceChangeEvent(languageId) { Object(classCallCheck["a" /* default */])(this, LanguageConfigurationServiceChangeEvent); this.languageId = languageId; } Object(createClass["a" /* default */])(LanguageConfigurationServiceChangeEvent, [{ key: "affects", value: function affects(languageId) { return !this.languageId ? true : this.languageId === languageId; } }]); return LanguageConfigurationServiceChangeEvent; }(); var ILanguageConfigurationService = Object(instantiation["c" /* createDecorator */])('languageConfigurationService'); var languageConfigurationRegistry_LanguageConfigurationService = /*#__PURE__*/function (_Disposable) { Object(inherits["a" /* default */])(LanguageConfigurationService, _Disposable); var _super = Object(createSuper["a" /* default */])(LanguageConfigurationService); function LanguageConfigurationService(configurationService, languageService) { var _this; Object(classCallCheck["a" /* default */])(this, LanguageConfigurationService); _this = _super.call(this); _this.configurationService = configurationService; _this.languageService = languageService; _this.onDidChangeEmitter = _this._register(new common_event["b" /* Emitter */]()); _this.onDidChange = _this.onDidChangeEmitter.event; _this.configurations = new Map(); var languageConfigKeys = new Set(Object.values(customizedLanguageConfigKeys)); _this._register(_this.configurationService.onDidChangeConfiguration(function (e) { var globalConfigChanged = e.change.keys.some(function (k) { return languageConfigKeys.has(k); }); var localConfigChanged = e.change.overrides.filter(function (_ref) { var _ref2 = Object(slicedToArray["a" /* default */])(_ref, 2), overrideLangName = _ref2[0], keys = _ref2[1]; return keys.some(function (k) { return languageConfigKeys.has(k); }); }).map(function (_ref3) { var _ref4 = Object(slicedToArray["a" /* default */])(_ref3, 1), overrideLangName = _ref4[0]; return overrideLangName; }); if (globalConfigChanged) { _this.configurations.clear(); _this.onDidChangeEmitter.fire(new languageConfigurationRegistry_LanguageConfigurationServiceChangeEvent(undefined)); } else { var _iterator = Object(createForOfIteratorHelper["a" /* default */])(localConfigChanged), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var languageId = _step.value; if (_this.languageService.isRegisteredLanguageId(languageId)) { _this.configurations.delete(languageId); _this.onDidChangeEmitter.fire(new languageConfigurationRegistry_LanguageConfigurationServiceChangeEvent(languageId)); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } } })); _this._register(LanguageConfigurationRegistry.onDidChange(function (e) { _this.configurations.delete(e.languageId); _this.onDidChangeEmitter.fire(new languageConfigurationRegistry_LanguageConfigurationServiceChangeEvent(e.languageId)); })); return _this; } Object(createClass["a" /* default */])(LanguageConfigurationService, [{ key: "getLanguageConfiguration", value: function getLanguageConfiguration(languageId) { var result = this.configurations.get(languageId); if (!result) { result = computeConfig(languageId, this.configurationService, this.languageService); this.configurations.set(languageId, result); } return result; } }]); return LanguageConfigurationService; }(lifecycle["a" /* Disposable */]); languageConfigurationRegistry_LanguageConfigurationService = __decorate([__param(0, common_configuration["a" /* IConfigurationService */]), __param(1, language["a" /* ILanguageService */])], languageConfigurationRegistry_LanguageConfigurationService); function computeConfig(languageId, configurationService, languageService) { var languageConfig = LanguageConfigurationRegistry.getLanguageConfiguration(languageId); if (!languageConfig) { if (!languageService.isRegisteredLanguageId(languageId)) { throw new Error('Unexpected languageId'); } languageConfig = new languageConfigurationRegistry_ResolvedLanguageConfiguration(languageId, {}); } var customizedConfig = getCustomizedLanguageConfig(languageConfig.languageId, configurationService); var data = combineLanguageConfigurations([languageConfig.underlyingConfig, customizedConfig]); var config = new languageConfigurationRegistry_ResolvedLanguageConfiguration(languageConfig.languageId, data); return config; } var customizedLanguageConfigKeys = { brackets: 'editor.language.brackets', colorizedBracketPairs: 'editor.language.colorizedBracketPairs' }; function getCustomizedLanguageConfig(languageId, configurationService) { var brackets = configurationService.getValue(customizedLanguageConfigKeys.brackets, { overrideIdentifier: languageId }); var colorizedBracketPairs = configurationService.getValue(customizedLanguageConfigKeys.colorizedBracketPairs, { overrideIdentifier: languageId }); return { brackets: validateBracketPairs(brackets), colorizedBracketPairs: validateBracketPairs(colorizedBracketPairs) }; } function validateBracketPairs(data) { if (!Array.isArray(data)) { return undefined; } return data.map(function (pair) { if (!Array.isArray(pair) || pair.length !== 2) { return undefined; } return [pair[0], pair[1]]; }).filter(function (p) { return !!p; }); } var languageConfigurationRegistry_LanguageConfigurationChangeEvent = /*#__PURE__*/Object(createClass["a" /* default */])(function LanguageConfigurationChangeEvent(languageId) { Object(classCallCheck["a" /* default */])(this, LanguageConfigurationChangeEvent); this.languageId = languageId; }); var languageConfigurationRegistry_LanguageConfigurationRegistryImpl = /*#__PURE__*/function () { function LanguageConfigurationRegistryImpl() { Object(classCallCheck["a" /* default */])(this, LanguageConfigurationRegistryImpl); this._entries = new Map(); this._onDidChange = new common_event["b" /* Emitter */](); this.onDidChange = this._onDidChange.event; } /** * @param priority Use a higher number for higher priority */ Object(createClass["a" /* default */])(LanguageConfigurationRegistryImpl, [{ key: "register", value: function register(languageId, configuration) { var _this2 = this; var priority = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; var entries = this._entries.get(languageId); if (!entries) { entries = new languageConfigurationRegistry_ComposedLanguageConfiguration(languageId); this._entries.set(languageId, entries); } var disposable = entries.register(configuration, priority); this._onDidChange.fire(new languageConfigurationRegistry_LanguageConfigurationChangeEvent(languageId)); return Object(lifecycle["i" /* toDisposable */])(function () { disposable.dispose(); _this2._onDidChange.fire(new languageConfigurationRegistry_LanguageConfigurationChangeEvent(languageId)); }); } }, { key: "getLanguageConfiguration", value: function getLanguageConfiguration(languageId) { var entries = this._entries.get(languageId); return (entries === null || entries === void 0 ? void 0 : entries.getResolvedConfiguration()) || null; } }, { key: "getComments", value: function getComments(languageId) { var value = this.getLanguageConfiguration(languageId); if (!value) { return null; } return value.comments || null; } // begin Indent Rules }, { key: "getIndentRulesSupport", value: function getIndentRulesSupport(languageId) { var value = this.getLanguageConfiguration(languageId); if (!value) { return null; } return value.indentRulesSupport || null; } /** * Get nearest preceding line which doesn't match unIndentPattern or contains all whitespace. * Result: * -1: run into the boundary of embedded languages * 0: every line above are invalid * else: nearest preceding line of the same language */ }, { key: "getPrecedingValidLine", value: function getPrecedingValidLine(model, lineNumber, indentRulesSupport) { var languageId = model.getLanguageIdAtPosition(lineNumber, 0); if (lineNumber > 1) { var lastLineNumber; var resultLineNumber = -1; for (lastLineNumber = lineNumber - 1; lastLineNumber >= 1; lastLineNumber--) { if (model.getLanguageIdAtPosition(lastLineNumber, 0) !== languageId) { return resultLineNumber; } var text = model.getLineContent(lastLineNumber); if (indentRulesSupport.shouldIgnore(text) || /^\s+$/.test(text) || text === '') { resultLineNumber = lastLineNumber; continue; } return lastLineNumber; } } return -1; } /** * Get inherited indentation from above lines. * 1. Find the nearest preceding line which doesn't match unIndentedLinePattern. * 2. If this line matches indentNextLinePattern or increaseIndentPattern, it means that the indent level of `lineNumber` should be 1 greater than this line. * 3. If this line doesn't match any indent rules * a. check whether the line above it matches indentNextLinePattern * b. If not, the indent level of this line is the result * c. If so, it means the indent of this line is *temporary*, go upward utill we find a line whose indent is not temporary (the same workflow a -> b -> c). * 4. Otherwise, we fail to get an inherited indent from aboves. Return null and we should not touch the indent of `lineNumber` * * This function only return the inherited indent based on above lines, it doesn't check whether current line should decrease or not. */ }, { key: "getInheritIndentForLine", value: function getInheritIndentForLine(autoIndent, model, lineNumber) { var honorIntentialIndent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; if (autoIndent < 4 /* Full */ ) { return null; } var indentRulesSupport = this.getIndentRulesSupport(model.getLanguageId()); if (!indentRulesSupport) { return null; } if (lineNumber <= 1) { return { indentation: '', action: null }; } var precedingUnIgnoredLine = this.getPrecedingValidLine(model, lineNumber, indentRulesSupport); if (precedingUnIgnoredLine < 0) { return null; } else if (precedingUnIgnoredLine < 1) { return { indentation: '', action: null };