yanzi-monaco-editorbb
Version:
这是一个基于微软的monaco和vue封装的一个代码编辑器,浏览器可运行。主要功能有:html、javascript、css代码编辑,高亮显示,语法错误提示等,可以帮您的项目很快的拥有一个web端的代码编辑器
224 lines (213 loc) • 11.4 kB
JavaScript
((typeof self !== 'undefined' ? self : this)["webpackJsonpyanziMonacoEditor"] = (typeof self !== 'undefined' ? self : this)["webpackJsonpyanziMonacoEditor"] || []).push([[63],{
/***/ "559f":
/***/ (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/scala/scala.ts
var conf = {
wordPattern: /(unary_[@~!#%^&*()\-=+\\|:<>\/?]+)|([a-zA-Z_$][\w$]*?_=)|(`[^`]+`)|([a-zA-Z_$][\w$]*)/g,
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
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*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),
end: new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")
}
}
};
var language = {
tokenPostfix: ".scala",
keywords: ["asInstanceOf", "catch", "class", "classOf", "def", "do", "else", "extends", "finally", "for", "foreach", "forSome", "if", "import", "isInstanceOf", "macro", "match", "new", "object", "package", "return", "throw", "trait", "try", "type", "until", "val", "var", "while", "with", "yield", "given", "enum", "then"],
softKeywords: ["as", "export", "extension", "end", "derives", "on"],
constants: ["true", "false", "null", "this", "super"],
modifiers: ["abstract", "final", "implicit", "lazy", "override", "private", "protected", "sealed"],
softModifiers: ["inline", "opaque", "open", "transparent", "using"],
name: /(?:[a-z_$][\w$]*|`[^`]+`)/,
type: /(?:[A-Z][\w$]*)/,
symbols: /[=><!~?:&|+\-*\/^\\%@#]+/,
digits: /\d+(_+\d+)*/,
hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
escapes: /\\(?:[btnfr\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
fstring_conv: /[bBhHsScCdoxXeEfgGaAt]|[Tn](?:[HIklMSLNpzZsQ]|[BbhAaCYyjmde]|[RTrDFC])/,
tokenizer: {
root: [[/\braw"""/, {
token: "string.quote",
bracket: "@open",
next: "@rawstringt"
}], [/\braw"/, {
token: "string.quote",
bracket: "@open",
next: "@rawstring"
}], [/\bs"""/, {
token: "string.quote",
bracket: "@open",
next: "@sstringt"
}], [/\bs"/, {
token: "string.quote",
bracket: "@open",
next: "@sstring"
}], [/\bf""""/, {
token: "string.quote",
bracket: "@open",
next: "@fstringt"
}], [/\bf"/, {
token: "string.quote",
bracket: "@open",
next: "@fstring"
}], [/"""/, {
token: "string.quote",
bracket: "@open",
next: "@stringt"
}], [/"/, {
token: "string.quote",
bracket: "@open",
next: "@string"
}], [/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/, "number.float", "@allowMethod"], [/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/, "number.float", "@allowMethod"], [/0[xX](@hexdigits)[Ll]?/, "number.hex", "@allowMethod"], [/(@digits)[fFdD]/, "number.float", "@allowMethod"], [/(@digits)[lL]?/, "number", "@allowMethod"], [/\b_\*/, "key"], [/\b(_)\b/, "keyword", "@allowMethod"], [/\bimport\b/, "keyword", "@import"], [/\b(case)([ \t]+)(class)\b/, ["keyword.modifier", "white", "keyword"]], [/\bcase\b/, "keyword", "@case"], [/\bva[lr]\b/, "keyword", "@vardef"], [/\b(def)([ \t]+)((?:unary_)?@symbols|@name(?:_=)|@name)/, ["keyword", "white", "identifier"]], [/@name(?=[ \t]*:(?!:))/, "variable"], [/(\.)(@name|@symbols)/, ["operator", {
token: "@rematch",
next: "@allowMethod"
}]], [/([{(])(\s*)(@name(?=\s*=>))/, ["@brackets", "white", "variable"]], [/@name/, {
cases: {
"@keywords": "keyword",
"@softKeywords": "keyword",
"@modifiers": "keyword.modifier",
"@softModifiers": "keyword.modifier",
"@constants": {
token: "constant",
next: "@allowMethod"
},
"@default": {
token: "identifier",
next: "@allowMethod"
}
}
}], [/@type/, "type", "@allowMethod"], {
include: "@whitespace"
}, [/@[a-zA-Z_$][\w$]*(?:\.[a-zA-Z_$][\w$]*)*/, "annotation"], [/[{(]/, "@brackets"], [/[})]/, "@brackets", "@allowMethod"], [/\[/, "operator.square"], [/](?!\s*(?:va[rl]|def|type)\b)/, "operator.square", "@allowMethod"], [/]/, "operator.square"], [/([=-]>|<-|>:|<:|:>|<%)(?=[\s\w()[\]{},\."'`])/, "keyword"], [/@symbols/, "operator"], [/[;,\.]/, "delimiter"], [/'[a-zA-Z$][\w$]*(?!')/, "attribute.name"], [/'[^\\']'/, "string", "@allowMethod"], [/(')(@escapes)(')/, ["string", "string.escape", {
token: "string",
next: "@allowMethod"
}]], [/'/, "string.invalid"]],
import: [[/;/, "delimiter", "@pop"], [/^|$/, "", "@pop"], [/[ \t]+/, "white"], [/[\n\r]+/, "white", "@pop"], [/\/\*/, "comment", "@comment"], [/@name|@type/, "type"], [/[(){}]/, "@brackets"], [/[[\]]/, "operator.square"], [/[\.,]/, "delimiter"]],
allowMethod: [[/^|$/, "", "@pop"], [/[ \t]+/, "white"], [/[\n\r]+/, "white", "@pop"], [/\/\*/, "comment", "@comment"], [/(?==>[\s\w([{])/, "keyword", "@pop"], [/(@name|@symbols)(?=[ \t]*[[({"'`]|[ \t]+(?:[+-]?\.?\d|\w))/, {
cases: {
"@keywords": {
token: "keyword",
next: "@pop"
},
"->|<-|>:|<:|<%": {
token: "keyword",
next: "@pop"
},
"@default": {
token: "@rematch",
next: "@pop"
}
}
}], ["", "", "@pop"]],
comment: [[/[^\/*]+/, "comment"], [/\/\*/, "comment", "@push"], [/\*\//, "comment", "@pop"], [/[\/*]/, "comment"]],
case: [[/\b_\*/, "key"], [/\b(_|true|false|null|this|super)\b/, "keyword", "@allowMethod"], [/\bif\b|=>/, "keyword", "@pop"], [/`[^`]+`/, "identifier", "@allowMethod"], [/@name/, "variable", "@allowMethod"], [/:::?|\||@(?![a-z_$])/, "keyword"], {
include: "@root"
}],
vardef: [[/\b_\*/, "key"], [/\b(_|true|false|null|this|super)\b/, "keyword"], [/@name/, "variable"], [/:::?|\||@(?![a-z_$])/, "keyword"], [/=|:(?!:)/, "operator", "@pop"], [/$/, "white", "@pop"], {
include: "@root"
}],
string: [[/[^\\"\n\r]+/, "string"], [/@escapes/, "string.escape"], [/\\./, "string.escape.invalid"], [/"/, {
token: "string.quote",
bracket: "@close",
switchTo: "@allowMethod"
}]],
stringt: [[/[^\\"\n\r]+/, "string"], [/@escapes/, "string.escape"], [/\\./, "string.escape.invalid"], [/"(?=""")/, "string"], [/"""/, {
token: "string.quote",
bracket: "@close",
switchTo: "@allowMethod"
}], [/"/, "string"]],
fstring: [[/@escapes/, "string.escape"], [/"/, {
token: "string.quote",
bracket: "@close",
switchTo: "@allowMethod"
}], [/\$\$/, "string"], [/(\$)([a-z_]\w*)/, ["operator", "identifier"]], [/\$\{/, "operator", "@interp"], [/%%/, "string"], [/(%)([\-#+ 0,(])(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/, ["metatag", "keyword.modifier", "number", "metatag"]], [/(%)(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/, ["metatag", "number", "metatag"]], [/(%)([\-#+ 0,(])(@fstring_conv)/, ["metatag", "keyword.modifier", "metatag"]], [/(%)(@fstring_conv)/, ["metatag", "metatag"]], [/./, "string"]],
fstringt: [[/@escapes/, "string.escape"], [/"(?=""")/, "string"], [/"""/, {
token: "string.quote",
bracket: "@close",
switchTo: "@allowMethod"
}], [/\$\$/, "string"], [/(\$)([a-z_]\w*)/, ["operator", "identifier"]], [/\$\{/, "operator", "@interp"], [/%%/, "string"], [/(%)([\-#+ 0,(])(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/, ["metatag", "keyword.modifier", "number", "metatag"]], [/(%)(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/, ["metatag", "number", "metatag"]], [/(%)([\-#+ 0,(])(@fstring_conv)/, ["metatag", "keyword.modifier", "metatag"]], [/(%)(@fstring_conv)/, ["metatag", "metatag"]], [/./, "string"]],
sstring: [[/@escapes/, "string.escape"], [/"/, {
token: "string.quote",
bracket: "@close",
switchTo: "@allowMethod"
}], [/\$\$/, "string"], [/(\$)([a-z_]\w*)/, ["operator", "identifier"]], [/\$\{/, "operator", "@interp"], [/./, "string"]],
sstringt: [[/@escapes/, "string.escape"], [/"(?=""")/, "string"], [/"""/, {
token: "string.quote",
bracket: "@close",
switchTo: "@allowMethod"
}], [/\$\$/, "string"], [/(\$)([a-z_]\w*)/, ["operator", "identifier"]], [/\$\{/, "operator", "@interp"], [/./, "string"]],
interp: [[/{/, "operator", "@push"], [/}/, "operator", "@pop"], {
include: "@root"
}],
rawstring: [[/[^"]/, "string"], [/"/, {
token: "string.quote",
bracket: "@close",
switchTo: "@allowMethod"
}]],
rawstringt: [[/[^"]/, "string"], [/"(?=""")/, "string"], [/"""/, {
token: "string.quote",
bracket: "@close",
switchTo: "@allowMethod"
}], [/"/, "string"]],
whitespace: [[/[ \t\r\n]+/, "white"], [/\/\*/, "comment", "@comment"], [/\/\/.*$/, "comment"]]
}
};
/***/ })
}]);