UNPKG

yanzi-monaco-editorbb

Version:

这是一个基于微软的monaco和vue封装的一个代码编辑器,浏览器可运行。主要功能有:html、javascript、css代码编辑,高亮显示,语法错误提示等,可以帮您的项目很快的拥有一个web端的代码编辑器

489 lines (478 loc) 15.1 kB
((typeof self !== 'undefined' ? self : this)["webpackJsonpyanziMonacoEditor"] = (typeof self !== 'undefined' ? self : this)["webpackJsonpyanziMonacoEditor"] || []).push([[51],{ /***/ "a5a6": /***/ (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/protobuf/protobuf.ts var namedLiterals = ["true", "false"]; var conf = { comments: { lineComment: "//", blockComment: ["/*", "*/"] }, brackets: [["{", "}"], ["[", "]"], ["(", ")"], ["<", ">"]], surroundingPairs: [{ open: "{", close: "}" }, { open: "[", close: "]" }, { open: "(", close: ")" }, { open: "<", close: ">" }, { open: '"', close: '"' }, { open: "'", close: "'" }], autoClosingPairs: [{ open: "{", close: "}" }, { open: "[", close: "]" }, { open: "(", close: ")" }, { open: "<", close: ">" }, { open: '"', close: '"', notIn: ["string"] }, { open: "'", close: "'", notIn: ["string"] }], autoCloseBefore: ".,=}])>' \n ", indentationRules: { increaseIndentPattern: new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"), decreaseIndentPattern: new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$") } }; var language = { defaultToken: "", tokenPostfix: ".proto", brackets: [{ open: "{", close: "}", token: "delimiter.curly" }, { open: "[", close: "]", token: "delimiter.square" }, { open: "(", close: ")", token: "delimiter.parenthesis" }, { open: "<", close: ">", token: "delimiter.angle" }], symbols: /[=><!~?:&|+\-*/^%]+/, keywords: ["syntax", "import", "weak", "public", "package", "option", "repeated", "oneof", "map", "reserved", "to", "max", "enum", "message", "service", "rpc", "stream", "returns", "package", "optional", "true", "false"], builtinTypes: ["double", "float", "int32", "int64", "uint32", "uint64", "sint32", "sint64", "fixed32", "fixed64", "sfixed32", "sfixed64", "bool", "string", "bytes"], operators: ["=", "+", "-"], namedLiterals: namedLiterals, escapes: "\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\${)", identifier: /[a-zA-Z]\w*/, fullIdentifier: /@identifier(?:\s*\.\s*@identifier)*/, optionName: /(?:@identifier|\(\s*@fullIdentifier\s*\))(?:\s*\.\s*@identifier)*/, messageName: /@identifier/, enumName: /@identifier/, messageType: /\.?\s*(?:@identifier\s*\.\s*)*@messageName/, enumType: /\.?\s*(?:@identifier\s*\.\s*)*@enumName/, floatLit: /[0-9]+\s*\.\s*[0-9]*(?:@exponent)?|[0-9]+@exponent|\.[0-9]+(?:@exponent)?/, exponent: /[eE]\s*[+-]?\s*[0-9]+/, boolLit: /true\b|false\b/, decimalLit: /[1-9][0-9]*/, octalLit: /0[0-7]*/, hexLit: /0[xX][0-9a-fA-F]+/, type: /double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes|@messageType|@enumType/, keyType: /int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string/, tokenizer: { root: [{ include: "@whitespace" }, [/syntax/, "keyword"], [/=/, "operators"], [/;/, "delimiter"], [/(")(proto3)(")/, ["string.quote", "string", { token: "string.quote", switchTo: "@topLevel.proto3" }]], [/(")(proto2)(")/, ["string.quote", "string", { token: "string.quote", switchTo: "@topLevel.proto2" }]], [/.*?/, { token: "", switchTo: "@topLevel.proto2" }]], topLevel: [{ include: "@whitespace" }, { include: "@constant" }, [/=/, "operators"], [/[;.]/, "delimiter"], [/@fullIdentifier/, { cases: { option: { token: "keyword", next: "@option.$S2" }, enum: { token: "keyword", next: "@enumDecl.$S2" }, message: { token: "keyword", next: "@messageDecl.$S2" }, service: { token: "keyword", next: "@serviceDecl.$S2" }, extend: { cases: { "$S2==proto2": { token: "keyword", next: "@extendDecl.$S2" } } }, "@keywords": "keyword", "@default": "identifier" } }]], enumDecl: [{ include: "@whitespace" }, [/@identifier/, "type.identifier"], [/{/, { token: "@brackets", bracket: "@open", switchTo: "@enumBody.$S2" }]], enumBody: [{ include: "@whitespace" }, { include: "@constant" }, [/=/, "operators"], [/;/, "delimiter"], [/option\b/, "keyword", "@option.$S2"], [/@identifier/, "identifier"], [/\[/, { token: "@brackets", bracket: "@open", next: "@options.$S2" }], [/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]], messageDecl: [{ include: "@whitespace" }, [/@identifier/, "type.identifier"], [/{/, { token: "@brackets", bracket: "@open", switchTo: "@messageBody.$S2" }]], messageBody: [{ include: "@whitespace" }, { include: "@constant" }, [/=/, "operators"], [/;/, "delimiter"], ["(map)(s*)(<)", ["keyword", "white", { token: "@brackets", bracket: "@open", next: "@map.$S2" }]], [/@identifier/, { cases: { option: { token: "keyword", next: "@option.$S2" }, enum: { token: "keyword", next: "@enumDecl.$S2" }, message: { token: "keyword", next: "@messageDecl.$S2" }, oneof: { token: "keyword", next: "@oneofDecl.$S2" }, extensions: { cases: { "$S2==proto2": { token: "keyword", next: "@reserved.$S2" } } }, reserved: { token: "keyword", next: "@reserved.$S2" }, "(?:repeated|optional)": { token: "keyword", next: "@field.$S2" }, required: { cases: { "$S2==proto2": { token: "keyword", next: "@field.$S2" } } }, "$S2==proto3": { token: "@rematch", next: "@field.$S2" } } }], [/\[/, { token: "@brackets", bracket: "@open", next: "@options.$S2" }], [/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]], extendDecl: [{ include: "@whitespace" }, [/@identifier/, "type.identifier"], [/{/, { token: "@brackets", bracket: "@open", switchTo: "@extendBody.$S2" }]], extendBody: [{ include: "@whitespace" }, { include: "@constant" }, [/;/, "delimiter"], [/(?:repeated|optional|required)/, "keyword", "@field.$S2"], [/\[/, { token: "@brackets", bracket: "@open", next: "@options.$S2" }], [/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]], options: [{ include: "@whitespace" }, { include: "@constant" }, [/;/, "delimiter"], [/@optionName/, "annotation"], [/[()]/, "annotation.brackets"], [/=/, "operator"], [/\]/, { token: "@brackets", bracket: "@close", next: "@pop" }]], option: [{ include: "@whitespace" }, [/@optionName/, "annotation"], [/[()]/, "annotation.brackets"], [/=/, "operator", "@pop"]], oneofDecl: [{ include: "@whitespace" }, [/@identifier/, "identifier"], [/{/, { token: "@brackets", bracket: "@open", switchTo: "@oneofBody.$S2" }]], oneofBody: [{ include: "@whitespace" }, { include: "@constant" }, [/;/, "delimiter"], [/(@identifier)(\s*)(=)/, ["identifier", "white", "delimiter"]], [/@fullIdentifier|\./, { cases: { "@builtinTypes": "keyword", "@default": "type.identifier" } }], [/\[/, { token: "@brackets", bracket: "@open", next: "@options.$S2" }], [/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]], reserved: [{ include: "@whitespace" }, [/,/, "delimiter"], [/;/, "delimiter", "@pop"], { include: "@constant" }, [/to\b|max\b/, "keyword"]], map: [{ include: "@whitespace" }, [/@fullIdentifier|\./, { cases: { "@builtinTypes": "keyword", "@default": "type.identifier" } }], [/,/, "delimiter"], [/>/, { token: "@brackets", bracket: "@close", switchTo: "identifier" }]], field: [{ include: "@whitespace" }, ["group", { cases: { "$S2==proto2": { token: "keyword", switchTo: "@groupDecl.$S2" } } }], [/(@identifier)(\s*)(=)/, ["identifier", "white", { token: "delimiter", next: "@pop" }]], [/@fullIdentifier|\./, { cases: { "@builtinTypes": "keyword", "@default": "type.identifier" } }]], groupDecl: [{ include: "@whitespace" }, [/@identifier/, "identifier"], ["=", "operator"], [/{/, { token: "@brackets", bracket: "@open", switchTo: "@messageBody.$S2" }], { include: "@constant" }], type: [{ include: "@whitespace" }, [/@identifier/, "type.identifier", "@pop"], [/./, "delimiter"]], identifier: [{ include: "@whitespace" }, [/@identifier/, "identifier", "@pop"]], serviceDecl: [{ include: "@whitespace" }, [/@identifier/, "identifier"], [/{/, { token: "@brackets", bracket: "@open", switchTo: "@serviceBody.$S2" }]], serviceBody: [{ include: "@whitespace" }, { include: "@constant" }, [/;/, "delimiter"], [/option\b/, "keyword", "@option.$S2"], [/rpc\b/, "keyword", "@rpc.$S2"], [/\[/, { token: "@brackets", bracket: "@open", next: "@options.$S2" }], [/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]], rpc: [{ include: "@whitespace" }, [/@identifier/, "identifier"], [/\(/, { token: "@brackets", bracket: "@open", switchTo: "@request.$S2" }], [/{/, { token: "@brackets", bracket: "@open", next: "@methodOptions.$S2" }], [/;/, "delimiter", "@pop"]], request: [{ include: "@whitespace" }, [/@messageType/, { cases: { stream: { token: "keyword", next: "@type.$S2" }, "@default": "type.identifier" } }], [/\)/, { token: "@brackets", bracket: "@close", switchTo: "@returns.$S2" }]], returns: [{ include: "@whitespace" }, [/returns\b/, "keyword"], [/\(/, { token: "@brackets", bracket: "@open", switchTo: "@response.$S2" }]], response: [{ include: "@whitespace" }, [/@messageType/, { cases: { stream: { token: "keyword", next: "@type.$S2" }, "@default": "type.identifier" } }], [/\)/, { token: "@brackets", bracket: "@close", switchTo: "@rpc.$S2" }]], methodOptions: [{ include: "@whitespace" }, { include: "@constant" }, [/;/, "delimiter"], ["option", "keyword"], [/@optionName/, "annotation"], [/[()]/, "annotation.brackets"], [/=/, "operator"], [/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]], comment: [[/[^\/*]+/, "comment"], [/\/\*/, "comment", "@push"], ["\\*/", "comment", "@pop"], [/[\/*]/, "comment"]], string: [[/[^\\"]+/, "string"], [/@escapes/, "string.escape"], [/\\./, "string.escape.invalid"], [/"/, { token: "string.quote", bracket: "@close", next: "@pop" }]], stringSingle: [[/[^\\']+/, "string"], [/@escapes/, "string.escape"], [/\\./, "string.escape.invalid"], [/'/, { token: "string.quote", bracket: "@close", next: "@pop" }]], constant: [["@boolLit", "keyword.constant"], ["@hexLit", "number.hex"], ["@octalLit", "number.octal"], ["@decimalLit", "number"], ["@floatLit", "number.float"], [/("([^"\\]|\\.)*|'([^'\\]|\\.)*)$/, "string.invalid"], [/"/, { token: "string.quote", bracket: "@open", next: "@string" }], [/'/, { token: "string.quote", bracket: "@open", next: "@stringSingle" }], [/{/, { token: "@brackets", bracket: "@open", next: "@prototext" }], [/identifier/, "identifier"]], whitespace: [[/[ \t\r\n]+/, "white"], [/\/\*/, "comment", "@comment"], [/\/\/.*$/, "comment"]], prototext: [{ include: "@whitespace" }, { include: "@constant" }, [/@identifier/, "identifier"], [/[:;]/, "delimiter"], [/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]] } }; /***/ }) }]);