yanzi-monaco-editorbb
Version:
这是一个基于微软的monaco和vue封装的一个代码编辑器,浏览器可运行。主要功能有:html、javascript、css代码编辑,高亮显示,语法错误提示等,可以帮您的项目很快的拥有一个web端的代码编辑器
165 lines (154 loc) • 7.7 kB
JavaScript
((typeof self !== 'undefined' ? self : this)["webpackJsonpyanziMonacoEditor"] = (typeof self !== 'undefined' ? self : this)["webpackJsonpyanziMonacoEditor"] || []).push([[61],{
/***/ "ff4c":
/***/ (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/rust/rust.ts
var conf = {
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [["{", "}"], ["[", "]"], ["(", ")"]],
autoClosingPairs: [{
open: "[",
close: "]"
}, {
open: "{",
close: "}"
}, {
open: "(",
close: ")"
}, {
open: '"',
close: '"',
notIn: ["string"]
}],
surroundingPairs: [{
open: "{",
close: "}"
}, {
open: "[",
close: "]"
}, {
open: "(",
close: ")"
}, {
open: '"',
close: '"'
}, {
open: "'",
close: "'"
}],
folding: {
markers: {
start: new RegExp("^\\s*#pragma\\s+region\\b"),
end: new RegExp("^\\s*#pragma\\s+endregion\\b")
}
}
};
var language = {
tokenPostfix: ".rust",
defaultToken: "invalid",
keywords: ["as", "async", "await", "box", "break", "const", "continue", "crate", "dyn", "else", "enum", "extern", "false", "fn", "for", "if", "impl", "in", "let", "loop", "match", "mod", "move", "mut", "pub", "ref", "return", "self", "static", "struct", "super", "trait", "true", "try", "type", "unsafe", "use", "where", "while", "catch", "default", "union", "static", "abstract", "alignof", "become", "do", "final", "macro", "offsetof", "override", "priv", "proc", "pure", "sizeof", "typeof", "unsized", "virtual", "yield"],
typeKeywords: ["Self", "m32", "m64", "m128", "f80", "f16", "f128", "int", "uint", "float", "char", "bool", "u8", "u16", "u32", "u64", "f32", "f64", "i8", "i16", "i32", "i64", "str", "Option", "Either", "c_float", "c_double", "c_void", "FILE", "fpos_t", "DIR", "dirent", "c_char", "c_schar", "c_uchar", "c_short", "c_ushort", "c_int", "c_uint", "c_long", "c_ulong", "size_t", "ptrdiff_t", "clock_t", "time_t", "c_longlong", "c_ulonglong", "intptr_t", "uintptr_t", "off_t", "dev_t", "ino_t", "pid_t", "mode_t", "ssize_t"],
constants: ["true", "false", "Some", "None", "Left", "Right", "Ok", "Err"],
supportConstants: ["EXIT_FAILURE", "EXIT_SUCCESS", "RAND_MAX", "EOF", "SEEK_SET", "SEEK_CUR", "SEEK_END", "_IOFBF", "_IONBF", "_IOLBF", "BUFSIZ", "FOPEN_MAX", "FILENAME_MAX", "L_tmpnam", "TMP_MAX", "O_RDONLY", "O_WRONLY", "O_RDWR", "O_APPEND", "O_CREAT", "O_EXCL", "O_TRUNC", "S_IFIFO", "S_IFCHR", "S_IFBLK", "S_IFDIR", "S_IFREG", "S_IFMT", "S_IEXEC", "S_IWRITE", "S_IREAD", "S_IRWXU", "S_IXUSR", "S_IWUSR", "S_IRUSR", "F_OK", "R_OK", "W_OK", "X_OK", "STDIN_FILENO", "STDOUT_FILENO", "STDERR_FILENO"],
supportMacros: ["format!", "print!", "println!", "panic!", "format_args!", "unreachable!", "write!", "writeln!"],
operators: ["!", "!=", "%", "%=", "&", "&=", "&&", "*", "*=", "+", "+=", "-", "-=", "->", ".", "..", "...", "/", "/=", ":", ";", "<<", "<<=", "<", "<=", "=", "==", "=>", ">", ">=", ">>", ">>=", "@", "^", "^=", "|", "|=", "||", "_", "?", "#"],
escapes: /\\([nrt0\"''\\]|x\h{2}|u\{\h{1,6}\})/,
delimiters: /[,]/,
symbols: /[\#\!\%\&\*\+\-\.\/\:\;\<\=\>\@\^\|_\?]+/,
intSuffixes: /[iu](8|16|32|64|128|size)/,
floatSuffixes: /f(32|64)/,
tokenizer: {
root: [[/r(#*)"/, {
token: "string.quote",
bracket: "@open",
next: "@stringraw.$1"
}], [/[a-zA-Z][a-zA-Z0-9_]*!?|_[a-zA-Z0-9_]+/, {
cases: {
"@typeKeywords": "keyword.type",
"@keywords": "keyword",
"@supportConstants": "keyword",
"@supportMacros": "keyword",
"@constants": "keyword",
"@default": "identifier"
}
}], [/\$/, "identifier"], [/'[a-zA-Z_][a-zA-Z0-9_]*(?=[^\'])/, "identifier"], [/'(\S|@escapes)'/, "string.byteliteral"], [/"/, {
token: "string.quote",
bracket: "@open",
next: "@string"
}], {
include: "@numbers"
}, {
include: "@whitespace"
}, [/@delimiters/, {
cases: {
"@keywords": "keyword",
"@default": "delimiter"
}
}], [/[{}()\[\]<>]/, "@brackets"], [/@symbols/, {
cases: {
"@operators": "operator",
"@default": ""
}
}]],
whitespace: [[/[ \t\r\n]+/, "white"], [/\/\*/, "comment", "@comment"], [/\/\/.*$/, "comment"]],
comment: [[/[^\/*]+/, "comment"], [/\/\*/, "comment", "@push"], ["\\*/", "comment", "@pop"], [/[\/*]/, "comment"]],
string: [[/[^\\"]+/, "string"], [/@escapes/, "string.escape"], [/\\./, "string.escape.invalid"], [/"/, {
token: "string.quote",
bracket: "@close",
next: "@pop"
}]],
stringraw: [[/[^"#]+/, {
token: "string"
}], [/"(#*)/, {
cases: {
"$1==$S2": {
token: "string.quote",
bracket: "@close",
next: "@pop"
},
"@default": {
token: "string"
}
}
}], [/["#]/, {
token: "string"
}]],
numbers: [[/(0o[0-7_]+)(@intSuffixes)?/, {
token: "number"
}], [/(0b[0-1_]+)(@intSuffixes)?/, {
token: "number"
}], [/[\d][\d_]*(\.[\d][\d_]*)?[eE][+-][\d_]+(@floatSuffixes)?/, {
token: "number"
}], [/\b(\d\.?[\d_]*)(@floatSuffixes)?\b/, {
token: "number"
}], [/(0x[\da-fA-F]+)_?(@intSuffixes)?/, {
token: "number"
}], [/[\d][\d_]*(@intSuffixes?)?/, {
token: "number"
}]]
}
};
/***/ })
}]);