yanzi-monaco-editorbb
Version:
这是一个基于微软的monaco和vue封装的一个代码编辑器,浏览器可运行。主要功能有:html、javascript、css代码编辑,高亮显示,语法错误提示等,可以帮您的项目很快的拥有一个web端的代码编辑器
353 lines (342 loc) • 11.1 kB
JavaScript
((typeof self !== 'undefined' ? self : this)["webpackJsonpyanziMonacoEditor"] = (typeof self !== 'undefined' ? self : this)["webpackJsonpyanziMonacoEditor"] || []).push([[65],{
/***/ "4099":
/***/ (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/scss/scss.ts
var conf = {
wordPattern: /(#?-?\d*\.\d\w*%?)|([@$#!.:]?[\w-?]+%?)|[@#!.]/g,
comments: {
blockComment: ["/*", "*/"],
lineComment: "//"
},
brackets: [["{", "}"], ["[", "]"], ["(", ")"]],
autoClosingPairs: [{
open: "{",
close: "}",
notIn: ["string", "comment"]
}, {
open: "[",
close: "]",
notIn: ["string", "comment"]
}, {
open: "(",
close: ")",
notIn: ["string", "comment"]
}, {
open: '"',
close: '"',
notIn: ["string", "comment"]
}, {
open: "'",
close: "'",
notIn: ["string", "comment"]
}],
surroundingPairs: [{
open: "{",
close: "}"
}, {
open: "[",
close: "]"
}, {
open: "(",
close: ")"
}, {
open: '"',
close: '"'
}, {
open: "'",
close: "'"
}],
folding: {
markers: {
start: new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),
end: new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")
}
}
};
var language = {
defaultToken: "",
tokenPostfix: ".scss",
ws: "[ \n\r\f]*",
identifier: "-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",
brackets: [{
open: "{",
close: "}",
token: "delimiter.curly"
}, {
open: "[",
close: "]",
token: "delimiter.bracket"
}, {
open: "(",
close: ")",
token: "delimiter.parenthesis"
}, {
open: "<",
close: ">",
token: "delimiter.angle"
}],
tokenizer: {
root: [{
include: "@selector"
}],
selector: [{
include: "@comments"
}, {
include: "@import"
}, {
include: "@variabledeclaration"
}, {
include: "@warndebug"
}, ["[@](include)", {
token: "keyword",
next: "@includedeclaration"
}], ["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)", {
token: "keyword",
next: "@keyframedeclaration"
}], ["[@](page|content|font-face|-moz-document)", {
token: "keyword"
}], ["[@](charset|namespace)", {
token: "keyword",
next: "@declarationbody"
}], ["[@](function)", {
token: "keyword",
next: "@functiondeclaration"
}], ["[@](mixin)", {
token: "keyword",
next: "@mixindeclaration"
}], ["url(\\-prefix)?\\(", {
token: "meta",
next: "@urldeclaration"
}], {
include: "@controlstatement"
}, {
include: "@selectorname"
}, ["[&\\*]", "tag"], ["[>\\+,]", "delimiter"], ["\\[", {
token: "delimiter.bracket",
next: "@selectorattribute"
}], ["{", {
token: "delimiter.curly",
next: "@selectorbody"
}]],
selectorbody: [["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))", "attribute.name", "@rulevalue"], {
include: "@selector"
}, ["[@](extend)", {
token: "keyword",
next: "@extendbody"
}], ["[@](return)", {
token: "keyword",
next: "@declarationbody"
}], ["}", {
token: "delimiter.curly",
next: "@pop"
}]],
selectorname: [["#{", {
token: "meta",
next: "@variableinterpolation"
}], ["(\\.|#(?=[^{])|%|(@identifier)|:)+", "tag"]],
selectorattribute: [{
include: "@term"
}, ["]", {
token: "delimiter.bracket",
next: "@pop"
}]],
term: [{
include: "@comments"
}, ["url(\\-prefix)?\\(", {
token: "meta",
next: "@urldeclaration"
}], {
include: "@functioninvocation"
}, {
include: "@numbers"
}, {
include: "@strings"
}, {
include: "@variablereference"
}, ["(and\\b|or\\b|not\\b)", "operator"], {
include: "@name"
}, ["([<>=\\+\\-\\*\\/\\^\\|\\~,])", "operator"], [",", "delimiter"], ["!default", "literal"], ["\\(", {
token: "delimiter.parenthesis",
next: "@parenthizedterm"
}]],
rulevalue: [{
include: "@term"
}, ["!important", "literal"], [";", "delimiter", "@pop"], ["{", {
token: "delimiter.curly",
switchTo: "@nestedproperty"
}], ["(?=})", {
token: "",
next: "@pop"
}]],
nestedproperty: [["[*_]?@identifier@ws:", "attribute.name", "@rulevalue"], {
include: "@comments"
}, ["}", {
token: "delimiter.curly",
next: "@pop"
}]],
warndebug: [["[@](warn|debug)", {
token: "keyword",
next: "@declarationbody"
}]],
import: [["[@](import)", {
token: "keyword",
next: "@declarationbody"
}]],
variabledeclaration: [["\\$@identifier@ws:", "variable.decl", "@declarationbody"]],
urldeclaration: [{
include: "@strings"
}, ["[^)\r\n]+", "string"], ["\\)", {
token: "meta",
next: "@pop"
}]],
parenthizedterm: [{
include: "@term"
}, ["\\)", {
token: "delimiter.parenthesis",
next: "@pop"
}]],
declarationbody: [{
include: "@term"
}, [";", "delimiter", "@pop"], ["(?=})", {
token: "",
next: "@pop"
}]],
extendbody: [{
include: "@selectorname"
}, ["!optional", "literal"], [";", "delimiter", "@pop"], ["(?=})", {
token: "",
next: "@pop"
}]],
variablereference: [["\\$@identifier", "variable.ref"], ["\\.\\.\\.", "operator"], ["#{", {
token: "meta",
next: "@variableinterpolation"
}]],
variableinterpolation: [{
include: "@variablereference"
}, ["}", {
token: "meta",
next: "@pop"
}]],
comments: [["\\/\\*", "comment", "@comment"], ["\\/\\/+.*", "comment"]],
comment: [["\\*\\/", "comment", "@pop"], [".", "comment"]],
name: [["@identifier", "attribute.value"]],
numbers: [["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?", {
token: "number",
next: "@units"
}], ["#[0-9a-fA-F_]+(?!\\w)", "number.hex"]],
units: [["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?", "number", "@pop"]],
functiondeclaration: [["@identifier@ws\\(", {
token: "meta",
next: "@parameterdeclaration"
}], ["{", {
token: "delimiter.curly",
switchTo: "@functionbody"
}]],
mixindeclaration: [["@identifier@ws\\(", {
token: "meta",
next: "@parameterdeclaration"
}], ["@identifier", "meta"], ["{", {
token: "delimiter.curly",
switchTo: "@selectorbody"
}]],
parameterdeclaration: [["\\$@identifier@ws:", "variable.decl"], ["\\.\\.\\.", "operator"], [",", "delimiter"], {
include: "@term"
}, ["\\)", {
token: "meta",
next: "@pop"
}]],
includedeclaration: [{
include: "@functioninvocation"
}, ["@identifier", "meta"], [";", "delimiter", "@pop"], ["(?=})", {
token: "",
next: "@pop"
}], ["{", {
token: "delimiter.curly",
switchTo: "@selectorbody"
}]],
keyframedeclaration: [["@identifier", "meta"], ["{", {
token: "delimiter.curly",
switchTo: "@keyframebody"
}]],
keyframebody: [{
include: "@term"
}, ["{", {
token: "delimiter.curly",
next: "@selectorbody"
}], ["}", {
token: "delimiter.curly",
next: "@pop"
}]],
controlstatement: [["[@](if|else|for|while|each|media)", {
token: "keyword.flow",
next: "@controlstatementdeclaration"
}]],
controlstatementdeclaration: [["(in|from|through|if|to)\\b", {
token: "keyword.flow"
}], {
include: "@term"
}, ["{", {
token: "delimiter.curly",
switchTo: "@selectorbody"
}]],
functionbody: [["[@](return)", {
token: "keyword"
}], {
include: "@variabledeclaration"
}, {
include: "@term"
}, {
include: "@controlstatement"
}, [";", "delimiter"], ["}", {
token: "delimiter.curly",
next: "@pop"
}]],
functioninvocation: [["@identifier\\(", {
token: "meta",
next: "@functionarguments"
}]],
functionarguments: [["\\$@identifier@ws:", "attribute.name"], ["[,]", "delimiter"], {
include: "@term"
}, ["\\)", {
token: "meta",
next: "@pop"
}]],
strings: [['~?"', {
token: "string.delimiter",
next: "@stringenddoublequote"
}], ["~?'", {
token: "string.delimiter",
next: "@stringendquote"
}]],
stringenddoublequote: [["\\\\.", "string"], ['"', {
token: "string.delimiter",
next: "@pop"
}], [".", "string"]],
stringendquote: [["\\\\.", "string"], ["'", {
token: "string.delimiter",
next: "@pop"
}], [".", "string"]]
}
};
/***/ })
}]);