/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.36.1(6c56744c3419458f0dd48864520b759d1a3a1ca8) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ // src/basic-languages/markdown/markdown.ts var conf = { comments: { blockComment: [""] }, brackets: [ ["{", "}"], ["[", "]"], ["(", ")"] ], autoClosingPairs: [ { open: "{", close: "}" }, { open: "[", close: "]" }, { open: "(", close: ")" }, { open: "<", close: ">", notIn: ["string"] } ], surroundingPairs: [ { open: "(", close: ")" }, { open: "[", close: "]" }, { open: "`", close: "`" } ], folding: { markers: { start: new RegExp("^\\s*"), end: new RegExp("^\\s*") } } }; var language = { defaultToken: "", tokenPostfix: ".md", control: /[\\`*_\[\]{}()#+\-\.!]/, noncontrol: /[^\\`*_\[\]{}()#+\-\.!]/, escapes: /\\(?:@control)/, jsescapes: /\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/, empty: [ "area", "base", "basefont", "br", "col", "frame", "hr", "img", "input", "isindex", "link", "meta", "param" ], tokenizer: { root: [ [/^\s*\|/, "@rematch", "@table_header"], [/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/, ["white", "keyword", "keyword", "keyword"]], [/^\s*(=+|\-+)\s*$/, "keyword"], [/^\s*((\*[ ]?)+)\s*$/, "meta.separator"], [/^\s*>+/, "comment"], [/^\s*([\*\-+:]|\d+\.)\s/, "keyword"], [/^(\t|[ ]{4})[^ ].*$/, "string"], [/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/, { token: "string", next: "@codeblock" }], [ /^\s*```\s*((?:\w|[\/\-#])+).*$/, { token: "string", next: "@codeblockgh", nextEmbedded: "$1" } ], [/^\s*```\s*$/, { token: "string", next: "@codeblock" }], { include: "@linecontent" } ], table_header: [ { include: "@table_common" }, [/[^\|]+/, "keyword.table.header"] ], table_body: [{ include: "@table_common" }, { include: "@linecontent" }], table_common: [ [/\s*[\-:]+\s*/, { token: "keyword", switchTo: "table_body" }], [/^\s*\|/, "keyword.table.left"], [/^\s*[^\|]/, "@rematch", "@pop"], [/^\s*$/, "@rematch", "@pop"], [ /\|/, { cases: { "@eos": "keyword.table.right", "@default": "keyword.table.middle" } } ] ], codeblock: [ [/^\s*~~~\s*$/, { token: "string", next: "@pop" }], [/^\s*```\s*$/, { token: "string", next: "@pop" }], [/.*$/, "variable.source"] ], codeblockgh: [ [/```\s*$/, { token: "string", next: "@pop", nextEmbedded: "@pop" }], [/[^`]+/, "variable.source"] ], linecontent: [ [/&\w+;/, "string.escape"], [/@escapes/, "escape"], [/\b__([^\\_]|@escapes|_(?!_))+__\b/, "strong"], [/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/, "strong"], [/\b_[^_]+_\b/, "emphasis"], [/\*([^\\*]|@escapes)+\*/, "emphasis"], [/`([^\\`]|@escapes)+`/, "variable"], [/\{+[^}]+\}+/, "string.target"], [/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/, ["string.link", "", "string.link"]], [/(!?\[)((?:[^\]\\]|@escapes)*)(\])/, "string.link"], { include: "html" } ], html: [ [/<(\w+)\/>/, "tag"], [ /<(\w+)(\-|\w)*/, { cases: { "@empty": { token: "tag", next: "@tag.$1" }, "@default": { token: "tag", next: "@tag.$1" } } } ], [/<\/(\w+)(\-|\w)*\s*>/, { token: "tag" }], [//, "comment", "@pop"], [/