110 lines
3.8 KiB
JavaScript
110 lines
3.8 KiB
JavaScript
/*!-----------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
|
|
* Released under the MIT license
|
|
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
|
*-----------------------------------------------------------------------------*/
|
|
|
|
var __defProp = Object.defineProperty;
|
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var __copyProps = (to, from, except, desc) => {
|
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
for (let key of __getOwnPropNames(from))
|
|
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
}
|
|
return to;
|
|
};
|
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
|
|
// src/fillers/monaco-editor-core.ts
|
|
var monaco_editor_core_exports = {};
|
|
__reExport(monaco_editor_core_exports, monaco_editor_core_star);
|
|
import * as monaco_editor_core_star from "../../editor/editor.api.js";
|
|
|
|
// src/basic-languages/xml/xml.ts
|
|
var conf = {
|
|
comments: {
|
|
blockComment: ["<!--", "-->"]
|
|
},
|
|
brackets: [["<", ">"]],
|
|
autoClosingPairs: [
|
|
{ open: "<", close: ">" },
|
|
{ open: "'", close: "'" },
|
|
{ open: '"', close: '"' }
|
|
],
|
|
surroundingPairs: [
|
|
{ open: "<", close: ">" },
|
|
{ open: "'", close: "'" },
|
|
{ open: '"', close: '"' }
|
|
],
|
|
onEnterRules: [
|
|
{
|
|
beforeText: new RegExp(`<([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`, "i"),
|
|
afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i,
|
|
action: {
|
|
indentAction: monaco_editor_core_exports.languages.IndentAction.IndentOutdent
|
|
}
|
|
},
|
|
{
|
|
beforeText: new RegExp(`<(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`, "i"),
|
|
action: { indentAction: monaco_editor_core_exports.languages.IndentAction.Indent }
|
|
}
|
|
]
|
|
};
|
|
var language = {
|
|
defaultToken: "",
|
|
tokenPostfix: ".xml",
|
|
ignoreCase: true,
|
|
qualifiedName: /(?:[\w\.\-]+:)?[\w\.\-]+/,
|
|
tokenizer: {
|
|
root: [
|
|
[/[^<&]+/, ""],
|
|
{ include: "@whitespace" },
|
|
[/(<)(@qualifiedName)/, [{ token: "delimiter" }, { token: "tag", next: "@tag" }]],
|
|
[
|
|
/(<\/)(@qualifiedName)(\s*)(>)/,
|
|
[{ token: "delimiter" }, { token: "tag" }, "", { token: "delimiter" }]
|
|
],
|
|
[/(<\?)(@qualifiedName)/, [{ token: "delimiter" }, { token: "metatag", next: "@tag" }]],
|
|
[/(<\!)(@qualifiedName)/, [{ token: "delimiter" }, { token: "metatag", next: "@tag" }]],
|
|
[/<\!\[CDATA\[/, { token: "delimiter.cdata", next: "@cdata" }],
|
|
[/&\w+;/, "string.escape"]
|
|
],
|
|
cdata: [
|
|
[/[^\]]+/, ""],
|
|
[/\]\]>/, { token: "delimiter.cdata", next: "@pop" }],
|
|
[/\]/, ""]
|
|
],
|
|
tag: [
|
|
[/[ \t\r\n]+/, ""],
|
|
[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/, ["attribute.name", "", "attribute.value"]],
|
|
[
|
|
/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,
|
|
["attribute.name", "", "attribute.value"]
|
|
],
|
|
[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/, ["attribute.name", "", "attribute.value"]],
|
|
[/@qualifiedName/, "attribute.name"],
|
|
[/\?>/, { token: "delimiter", next: "@pop" }],
|
|
[/(\/)(>)/, [{ token: "tag" }, { token: "delimiter", next: "@pop" }]],
|
|
[/>/, { token: "delimiter", next: "@pop" }]
|
|
],
|
|
whitespace: [
|
|
[/[ \t\r\n]+/, ""],
|
|
[/<!--/, { token: "comment", next: "@comment" }]
|
|
],
|
|
comment: [
|
|
[/[^<\-]+/, "comment.content"],
|
|
[/-->/, { token: "comment", next: "@pop" }],
|
|
[/<!--/, "comment.content.invalid"],
|
|
[/[<\-]/, "comment.content"]
|
|
]
|
|
}
|
|
};
|
|
export {
|
|
conf,
|
|
language
|
|
};
|