yanzi-monaco-editorbb
Version:
这是一个基于微软的monaco和vue封装的一个代码编辑器,浏览器可运行。主要功能有:html、javascript、css代码编辑,高亮显示,语法错误提示等,可以帮您的项目很快的拥有一个web端的代码编辑器
155 lines (144 loc) • 5.7 kB
JavaScript
((typeof self !== 'undefined' ? self : this)["webpackJsonpyanziMonacoEditor"] = (typeof self !== 'undefined' ? self : this)["webpackJsonpyanziMonacoEditor"] || []).push([[33],{
/***/ "81ed":
/***/ (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/lexon/lexon.ts
var conf = {
comments: {
lineComment: "COMMENT"
},
brackets: [["(", ")"]],
autoClosingPairs: [{
open: "{",
close: "}"
}, {
open: "[",
close: "]"
}, {
open: "(",
close: ")"
}, {
open: '"',
close: '"'
}, {
open: ":",
close: "."
}],
surroundingPairs: [{
open: "{",
close: "}"
}, {
open: "[",
close: "]"
}, {
open: "(",
close: ")"
}, {
open: "`",
close: "`"
}, {
open: '"',
close: '"'
}, {
open: "'",
close: "'"
}, {
open: ":",
close: "."
}],
folding: {
markers: {
start: new RegExp("^\\s*(::\\s*|COMMENT\\s+)#region"),
end: new RegExp("^\\s*(::\\s*|COMMENT\\s+)#endregion")
}
}
};
var language = {
tokenPostfix: ".lexon",
ignoreCase: true,
keywords: ["lexon", "lex", "clause", "terms", "contracts", "may", "pay", "pays", "appoints", "into", "to"],
typeKeywords: ["amount", "person", "key", "time", "date", "asset", "text"],
operators: ["less", "greater", "equal", "le", "gt", "or", "and", "add", "added", "subtract", "subtracted", "multiply", "multiplied", "times", "divide", "divided", "is", "be", "certified"],
symbols: /[=><!~?:&|+\-*\/\^%]+/,
tokenizer: {
root: [[/^(\s*)(comment:?(?:\s.*|))$/, ["", "comment"]], [/"/, {
token: "identifier.quote",
bracket: "@open",
next: "@quoted_identifier"
}], ["LEX$", {
token: "keyword",
bracket: "@open",
next: "@identifier_until_period"
}], ["LEXON", {
token: "keyword",
bracket: "@open",
next: "@semver"
}], [":", {
token: "delimiter",
bracket: "@open",
next: "@identifier_until_period"
}], [/[a-z_$][\w$]*/, {
cases: {
"@operators": "operator",
"@typeKeywords": "keyword.type",
"@keywords": "keyword",
"@default": "identifier"
}
}], {
include: "@whitespace"
}, [/[{}()\[\]]/, "@brackets"], [/[<>](?!@symbols)/, "@brackets"], [/@symbols/, "delimiter"], [/\d*\.\d*\.\d*/, "number.semver"], [/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"], [/0[xX][0-9a-fA-F]+/, "number.hex"], [/\d+/, "number"], [/[;,.]/, "delimiter"]],
quoted_identifier: [[/[^\\"]+/, "identifier"], [/"/, {
token: "identifier.quote",
bracket: "@close",
next: "@pop"
}]],
space_identifier_until_period: [[":", "delimiter"], [" ", {
token: "white",
next: "@identifier_rest"
}]],
identifier_until_period: [{
include: "@whitespace"
}, [":", {
token: "delimiter",
next: "@identifier_rest"
}], [/[^\\.]+/, "identifier"], [/\./, {
token: "delimiter",
bracket: "@close",
next: "@pop"
}]],
identifier_rest: [[/[^\\.]+/, "identifier"], [/\./, {
token: "delimiter",
bracket: "@close",
next: "@pop"
}]],
semver: [{
include: "@whitespace"
}, [":", "delimiter"], [/\d*\.\d*\.\d*/, {
token: "number.semver",
bracket: "@close",
next: "@pop"
}]],
whitespace: [[/[ \t\r\n]+/, "white"]]
}
};
/***/ })
}]);