xml.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. /*!-----------------------------------------------------------------------------
  2. * Copyright (c) Microsoft Corporation. All rights reserved.
  3. * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
  4. * Released under the MIT license
  5. * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
  6. *-----------------------------------------------------------------------------*/
  7. define("vs/basic-languages/xml/xml",[],()=>{
  8. var moduleExports = (() => {
  9. var __create = Object.create;
  10. var __defProp = Object.defineProperty;
  11. var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
  12. var __getOwnPropNames = Object.getOwnPropertyNames;
  13. var __getProtoOf = Object.getPrototypeOf;
  14. var __hasOwnProp = Object.prototype.hasOwnProperty;
  15. var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
  16. var __commonJS = (cb, mod) => function __require() {
  17. return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
  18. };
  19. var __export = (target, all) => {
  20. __markAsModule(target);
  21. for (var name in all)
  22. __defProp(target, name, { get: all[name], enumerable: true });
  23. };
  24. var __reExport = (target, module, desc) => {
  25. if (module && typeof module === "object" || typeof module === "function") {
  26. for (let key of __getOwnPropNames(module))
  27. if (!__hasOwnProp.call(target, key) && key !== "default")
  28. __defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });
  29. }
  30. return target;
  31. };
  32. var __toModule = (module) => {
  33. return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module);
  34. };
  35. // build/fillers/monaco-editor-core-amd.ts
  36. var require_monaco_editor_core_amd = __commonJS({
  37. "build/fillers/monaco-editor-core-amd.ts"(exports, module) {
  38. module.exports = self.monaco;
  39. }
  40. });
  41. // src/basic-languages/xml/xml.ts
  42. var xml_exports = {};
  43. __export(xml_exports, {
  44. conf: () => conf,
  45. language: () => language
  46. });
  47. // src/fillers/monaco-editor-core.ts
  48. var monaco_editor_core_exports = {};
  49. __markAsModule(monaco_editor_core_exports);
  50. __reExport(monaco_editor_core_exports, __toModule(require_monaco_editor_core_amd()));
  51. // src/basic-languages/xml/xml.ts
  52. var conf = {
  53. comments: {
  54. blockComment: ["<!--", "-->"]
  55. },
  56. brackets: [["<", ">"]],
  57. autoClosingPairs: [
  58. { open: "<", close: ">" },
  59. { open: "'", close: "'" },
  60. { open: '"', close: '"' }
  61. ],
  62. surroundingPairs: [
  63. { open: "<", close: ">" },
  64. { open: "'", close: "'" },
  65. { open: '"', close: '"' }
  66. ],
  67. onEnterRules: [
  68. {
  69. beforeText: new RegExp(`<([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`, "i"),
  70. afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i,
  71. action: {
  72. indentAction: monaco_editor_core_exports.languages.IndentAction.IndentOutdent
  73. }
  74. },
  75. {
  76. beforeText: new RegExp(`<(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`, "i"),
  77. action: { indentAction: monaco_editor_core_exports.languages.IndentAction.Indent }
  78. }
  79. ]
  80. };
  81. var language = {
  82. defaultToken: "",
  83. tokenPostfix: ".xml",
  84. ignoreCase: true,
  85. qualifiedName: /(?:[\w\.\-]+:)?[\w\.\-]+/,
  86. tokenizer: {
  87. root: [
  88. [/[^<&]+/, ""],
  89. { include: "@whitespace" },
  90. [/(<)(@qualifiedName)/, [{ token: "delimiter" }, { token: "tag", next: "@tag" }]],
  91. [
  92. /(<\/)(@qualifiedName)(\s*)(>)/,
  93. [{ token: "delimiter" }, { token: "tag" }, "", { token: "delimiter" }]
  94. ],
  95. [/(<\?)(@qualifiedName)/, [{ token: "delimiter" }, { token: "metatag", next: "@tag" }]],
  96. [/(<\!)(@qualifiedName)/, [{ token: "delimiter" }, { token: "metatag", next: "@tag" }]],
  97. [/<\!\[CDATA\[/, { token: "delimiter.cdata", next: "@cdata" }],
  98. [/&\w+;/, "string.escape"]
  99. ],
  100. cdata: [
  101. [/[^\]]+/, ""],
  102. [/\]\]>/, { token: "delimiter.cdata", next: "@pop" }],
  103. [/\]/, ""]
  104. ],
  105. tag: [
  106. [/[ \t\r\n]+/, ""],
  107. [/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/, ["attribute.name", "", "attribute.value"]],
  108. [
  109. /(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,
  110. ["attribute.name", "", "attribute.value"]
  111. ],
  112. [/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/, ["attribute.name", "", "attribute.value"]],
  113. [/@qualifiedName/, "attribute.name"],
  114. [/\?>/, { token: "delimiter", next: "@pop" }],
  115. [/(\/)(>)/, [{ token: "tag" }, { token: "delimiter", next: "@pop" }]],
  116. [/>/, { token: "delimiter", next: "@pop" }]
  117. ],
  118. whitespace: [
  119. [/[ \t\r\n]+/, ""],
  120. [/<!--/, { token: "comment", next: "@comment" }]
  121. ],
  122. comment: [
  123. [/[^<\-]+/, "comment.content"],
  124. [/-->/, { token: "comment", next: "@pop" }],
  125. [/<!--/, "comment.content.invalid"],
  126. [/[<\-]/, "comment.content"]
  127. ]
  128. }
  129. };
  130. return xml_exports;
  131. })();
  132. return moduleExports;
  133. });