yanzi-monaco-editorbb
Version:
这是一个基于微软的monaco和vue封装的一个代码编辑器,浏览器可运行。主要功能有:html、javascript、css代码编辑,高亮显示,语法错误提示等,可以帮您的项目很快的拥有一个web端的代码编辑器
177 lines (166 loc) • 7.19 kB
JavaScript
((typeof self !== 'undefined' ? self : this)["webpackJsonpyanziMonacoEditor"] = (typeof self !== 'undefined' ? self : this)["webpackJsonpyanziMonacoEditor"] || []).push([[13],{
/***/ "d995":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "conf", function() { return conf; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "language", function() { return language; });
/* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4d63");
/* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_es_regexp_dot_all_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("c607");
/* harmony import */ var core_js_modules_es_regexp_dot_all_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_dot_all_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("ac1f");
/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_regexp_sticky_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("2c3e");
/* harmony import */ var core_js_modules_es_regexp_sticky_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_sticky_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("25f0");
/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_4__);
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.32.1(29a273516805a852aa8edc5e05059f119b13eff0)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*/
// src/basic-languages/coffee/coffee.ts
var conf = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
blockComment: ["###", "###"],
lineComment: "#"
},
brackets: [["{", "}"], ["[", "]"], ["(", ")"]],
autoClosingPairs: [{
open: "{",
close: "}"
}, {
open: "[",
close: "]"
}, {
open: "(",
close: ")"
}, {
open: '"',
close: '"'
}, {
open: "'",
close: "'"
}],
surroundingPairs: [{
open: "{",
close: "}"
}, {
open: "[",
close: "]"
}, {
open: "(",
close: ")"
}, {
open: '"',
close: '"'
}, {
open: "'",
close: "'"
}],
folding: {
markers: {
start: new RegExp("^\\s*#region\\b"),
end: new RegExp("^\\s*#endregion\\b")
}
}
};
var language = {
defaultToken: "",
ignoreCase: true,
tokenPostfix: ".coffee",
brackets: [{
open: "{",
close: "}",
token: "delimiter.curly"
}, {
open: "[",
close: "]",
token: "delimiter.square"
}, {
open: "(",
close: ")",
token: "delimiter.parenthesis"
}],
regEx: /\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,
keywords: ["and", "or", "is", "isnt", "not", "on", "yes", "@", "no", "off", "true", "false", "null", "this", "new", "delete", "typeof", "in", "instanceof", "return", "throw", "break", "continue", "debugger", "if", "else", "switch", "for", "while", "do", "try", "catch", "finally", "class", "extends", "super", "undefined", "then", "unless", "until", "loop", "of", "by", "when"],
symbols: /[=><!~?&%|+\-*\/\^\.,\:]+/,
escapes: /\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
tokenizer: {
root: [[/\@[a-zA-Z_]\w*/, "variable.predefined"], [/[a-zA-Z_]\w*/, {
cases: {
this: "variable.predefined",
"@keywords": {
token: "keyword.$0"
},
"@default": ""
}
}], [/[ \t\r\n]+/, ""], [/###/, "comment", "@comment"], [/#.*$/, "comment"], ["///", {
token: "regexp",
next: "@hereregexp"
}], [/^(\s*)(@regEx)/, ["", "regexp"]], [/(\()(\s*)(@regEx)/, ["@brackets", "", "regexp"]], [/(\,)(\s*)(@regEx)/, ["delimiter", "", "regexp"]], [/(\=)(\s*)(@regEx)/, ["delimiter", "", "regexp"]], [/(\:)(\s*)(@regEx)/, ["delimiter", "", "regexp"]], [/(\[)(\s*)(@regEx)/, ["@brackets", "", "regexp"]], [/(\!)(\s*)(@regEx)/, ["delimiter", "", "regexp"]], [/(\&)(\s*)(@regEx)/, ["delimiter", "", "regexp"]], [/(\|)(\s*)(@regEx)/, ["delimiter", "", "regexp"]], [/(\?)(\s*)(@regEx)/, ["delimiter", "", "regexp"]], [/(\{)(\s*)(@regEx)/, ["@brackets", "", "regexp"]], [/(\;)(\s*)(@regEx)/, ["", "", "regexp"]], [/}/, {
cases: {
"$S2==interpolatedstring": {
token: "string",
next: "@pop"
},
"@default": "@brackets"
}
}], [/[{}()\[\]]/, "@brackets"], [/@symbols/, "delimiter"], [/\d+[eE]([\-+]?\d+)?/, "number.float"], [/\d+\.\d+([eE][\-+]?\d+)?/, "number.float"], [/0[xX][0-9a-fA-F]+/, "number.hex"], [/0[0-7]+(?!\d)/, "number.octal"], [/\d+/, "number"], [/[,.]/, "delimiter"], [/"""/, "string", '@herestring."""'], [/'''/, "string", "@herestring.'''"], [/"/, {
cases: {
"@eos": "string",
"@default": {
token: "string",
next: '@string."'
}
}
}], [/'/, {
cases: {
"@eos": "string",
"@default": {
token: "string",
next: "@string.'"
}
}
}]],
string: [[/[^"'\#\\]+/, "string"], [/@escapes/, "string.escape"], [/\./, "string.escape.invalid"], [/\./, "string.escape.invalid"], [/#{/, {
cases: {
'$S2=="': {
token: "string",
next: "root.interpolatedstring"
},
"@default": "string"
}
}], [/["']/, {
cases: {
"$#==$S2": {
token: "string",
next: "@pop"
},
"@default": "string"
}
}], [/#/, "string"]],
herestring: [[/("""|''')/, {
cases: {
"$1==$S2": {
token: "string",
next: "@pop"
},
"@default": "string"
}
}], [/[^#\\'"]+/, "string"], [/['"]+/, "string"], [/@escapes/, "string.escape"], [/\./, "string.escape.invalid"], [/#{/, {
token: "string.quote",
next: "root.interpolatedstring"
}], [/#/, "string"]],
comment: [[/[^#]+/, "comment"], [/###/, "comment", "@pop"], [/#/, "comment"]],
hereregexp: [[/[^\\\/#]+/, "regexp"], [/\\./, "regexp"], [/#.*$/, "comment"], ["///[igm]*", {
token: "regexp",
next: "@pop"
}], [/\//, "regexp"]]
}
};
/***/ })
}]);