/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ define("vs/basic-languages/html/html",[],()=>{ var moduleExports = (() => { var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { __markAsModule(target); for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __reExport = (target, module, desc) => { if (module && typeof module === "object" || typeof module === "function") { for (let key of __getOwnPropNames(module)) if (!__hasOwnProp.call(target, key) && key !== "default") __defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable }); } return target; }; var __toModule = (module) => { 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); }; // build/fillers/monaco-editor-core-amd.ts var require_monaco_editor_core_amd = __commonJS({ "build/fillers/monaco-editor-core-amd.ts"(exports, module) { module.exports = self.monaco; } }); // src/basic-languages/html/html.ts var html_exports = {}; __export(html_exports, { conf: () => conf, language: () => language }); // src/fillers/monaco-editor-core.ts var monaco_editor_core_exports = {}; __markAsModule(monaco_editor_core_exports); __reExport(monaco_editor_core_exports, __toModule(require_monaco_editor_core_amd())); // src/basic-languages/html/html.ts var EMPTY_ELEMENTS = [ "area", "base", "br", "col", "embed", "hr", "img", "input", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr" ]; var conf = { wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g, comments: { blockComment: [""] }, 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: ">" } ], onEnterRules: [ { beforeText: new RegExp(`<(?!(?:${EMPTY_ELEMENTS.join("|")}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`, "i"), afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i, action: { indentAction: monaco_editor_core_exports.languages.IndentAction.IndentOutdent } }, { beforeText: new RegExp(`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`, "i"), action: { indentAction: monaco_editor_core_exports.languages.IndentAction.Indent } } ], folding: { markers: { start: new RegExp("^\\s*"), end: new RegExp("^\\s*") } } }; var language = { defaultToken: "", tokenPostfix: ".html", ignoreCase: true, tokenizer: { root: [ [/)/, ["delimiter", "tag", "", "delimiter"]], [/(<)(script)/, ["delimiter", { token: "tag", next: "@script" }]], [/(<)(style)/, ["delimiter", { token: "tag", next: "@style" }]], [/(<)((?:[\w\-]+:)?[\w\-]+)/, ["delimiter", { token: "tag", next: "@otherTag" }]], [/(<\/)((?:[\w\-]+:)?[\w\-]+)/, ["delimiter", { token: "tag", next: "@otherTag" }]], [/]+/, "metatag.content"], [/>/, "metatag", "@pop"] ], comment: [ [/-->/, "comment", "@pop"], [/[^-]+/, "comment.content"], [/./, "comment.content"] ], otherTag: [ [/\/?>/, "delimiter", "@pop"], [/"([^"]*)"/, "attribute.value"], [/'([^']*)'/, "attribute.value"], [/[\w\-]+/, "attribute.name"], [/=/, "delimiter"], [/[ \t\r\n]+/] ], script: [ [/type/, "attribute.name", "@scriptAfterType"], [/"([^"]*)"/, "attribute.value"], [/'([^']*)'/, "attribute.value"], [/[\w\-]+/, "attribute.name"], [/=/, "delimiter"], [ />/, { token: "delimiter", next: "@scriptEmbedded", nextEmbedded: "text/javascript" } ], [/[ \t\r\n]+/], [/(<\/)(script\s*)(>)/, ["delimiter", "tag", { token: "delimiter", next: "@pop" }]] ], scriptAfterType: [ [/=/, "delimiter", "@scriptAfterTypeEquals"], [ />/, { token: "delimiter", next: "@scriptEmbedded", nextEmbedded: "text/javascript" } ], [/[ \t\r\n]+/], [/<\/script\s*>/, { token: "@rematch", next: "@pop" }] ], scriptAfterTypeEquals: [ [ /"([^"]*)"/, { token: "attribute.value", switchTo: "@scriptWithCustomType.$1" } ], [ /'([^']*)'/, { token: "attribute.value", switchTo: "@scriptWithCustomType.$1" } ], [ />/, { token: "delimiter", next: "@scriptEmbedded", nextEmbedded: "text/javascript" } ], [/[ \t\r\n]+/], [/<\/script\s*>/, { token: "@rematch", next: "@pop" }] ], scriptWithCustomType: [ [ />/, { token: "delimiter", next: "@scriptEmbedded.$S2", nextEmbedded: "$S2" } ], [/"([^"]*)"/, "attribute.value"], [/'([^']*)'/, "attribute.value"], [/[\w\-]+/, "attribute.name"], [/=/, "delimiter"], [/[ \t\r\n]+/], [/<\/script\s*>/, { token: "@rematch", next: "@pop" }] ], scriptEmbedded: [ [/<\/script/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }], [/[^<]+/, ""] ], style: [ [/type/, "attribute.name", "@styleAfterType"], [/"([^"]*)"/, "attribute.value"], [/'([^']*)'/, "attribute.value"], [/[\w\-]+/, "attribute.name"], [/=/, "delimiter"], [ />/, { token: "delimiter", next: "@styleEmbedded", nextEmbedded: "text/css" } ], [/[ \t\r\n]+/], [/(<\/)(style\s*)(>)/, ["delimiter", "tag", { token: "delimiter", next: "@pop" }]] ], styleAfterType: [ [/=/, "delimiter", "@styleAfterTypeEquals"], [ />/, { token: "delimiter", next: "@styleEmbedded", nextEmbedded: "text/css" } ], [/[ \t\r\n]+/], [/<\/style\s*>/, { token: "@rematch", next: "@pop" }] ], styleAfterTypeEquals: [ [ /"([^"]*)"/, { token: "attribute.value", switchTo: "@styleWithCustomType.$1" } ], [ /'([^']*)'/, { token: "attribute.value", switchTo: "@styleWithCustomType.$1" } ], [ />/, { token: "delimiter", next: "@styleEmbedded", nextEmbedded: "text/css" } ], [/[ \t\r\n]+/], [/<\/style\s*>/, { token: "@rematch", next: "@pop" }] ], styleWithCustomType: [ [ />/, { token: "delimiter", next: "@styleEmbedded.$S2", nextEmbedded: "$S2" } ], [/"([^"]*)"/, "attribute.value"], [/'([^']*)'/, "attribute.value"], [/[\w\-]+/, "attribute.name"], [/=/, "delimiter"], [/[ \t\r\n]+/], [/<\/style\s*>/, { token: "@rematch", next: "@pop" }] ], styleEmbedded: [ [/<\/style/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }], [/[^<]+/, ""] ] } }; return html_exports; })(); return moduleExports; });