UNPKG

prism-react-editor

Version:

Lightweight, extensible code editor component for React apps

208 lines (204 loc) 6.87 kB
import { l as languages } from "../../index-k28m3HFc.js"; var attributes = { pattern: /(^[ ]*)\[(?!\[)(?:(["'$`])(?:\\.|(?!\2)[^\\])*\2|\[(?:\\.|[^\\[\]])*\]|\\.|[^\\"'[\]$`])*\]/m, lookbehind: true, inside: { "quoted": { pattern: /([$`])(?:\\.|(?!\1)[^\\])*\1/, inside: { "punctuation": /^[$`]|[$`]$/ } }, "interpreted": { pattern: /'(?:\\.|[^\\'])*'/, inside: { "punctuation": /^'|'$/ // See rest below } }, "string": /"(?:\\.|[^\\"])*"/, "variable": /\w+(?==)/, "punctuation": /^\[|\]$|,/, "operator": /=/, // The negative look-ahead prevents blank matches "attr-value": /(?!^\s+$).+/ } }; var asciidoc = languages.adoc = languages.asciidoc = { "comment-block": { pattern: /^(\/{4,})$[^]*?^\1/m, alias: "comment" }, "table": { pattern: /^\|={3,}(?:\n.*)*?\n\|={3,}$/m, inside: { "specifiers": { pattern: /(?:(?:(?:\d+(?:\.\d+)?|\.\d+)[+*](?:[<^>](?:\.[<^>])?|\.[<^>])?|[<^>](?:\.[<^>])?|\.[<^>])[a-z]*|[a-z]+)(?=\|)/, alias: "attr-value" }, "punctuation": { pattern: /(^|[^\\])[|!]=*/, lookbehind: true } // See rest below } }, "passthrough-block": { pattern: /^(\+{4,})$[^]*?^\1$/m, inside: { "punctuation": /^\++|\++$/ // See rest below } }, // Literal blocks and listing blocks "literal-block": { pattern: /^(-{4,}|\.{4,})$[^]*?^\1$/m, inside: { "punctuation": /^(?:-+|\.+)|(?:-+|\.+)$/ // See rest below } }, // Sidebar blocks, quote blocks, example blocks and open blocks "other-block": { pattern: /^(--|\*{4,}|_{4,}|={4,})$[^]*?^\1$/m, inside: { "punctuation": /^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/ // See rest below } }, // list-punctuation and list-label must appear before indented-block "list-punctuation": { pattern: /(^[ ]*)(?:-|\*{1,5}|\.{1,5}|(?:[a-z]|\d+)\.|[xvi]+\))(?= )/im, lookbehind: true, alias: "punctuation" }, "list-label": { pattern: /(^[ ]*)[a-z\d].+(?::{2,4}|;;)(?!\S)/im, lookbehind: true, alias: "symbol" }, "indented-block": { pattern: /(\n\n)([ ]+)\S.*(?:\n\2.+)*(?=\n\n|$)/, lookbehind: true }, "comment": /^\/\/.*/m, "title": { pattern: /^.+\n(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} .+|^\.(?![\s.]).*/m, alias: "important", inside: { "punctuation": /^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/ // See rest below } }, "attribute-entry": { pattern: /^:[^\n:]+:(?: .*?(?: \+\n.*?)*)?$/m, alias: "tag" }, "attributes": attributes, "hr": { pattern: /^'{3,}$/m, alias: "punctuation" }, "page-break": { pattern: /^<{3,}$/m, alias: "punctuation" }, "admonition": { pattern: /^(?:CAUTION|IMPORTANT|NOTE|TIP|WARNING):/m, alias: "keyword" }, "callout": [ { pattern: /(^[ ]*)<?\d*>/m, lookbehind: true, alias: "symbol" }, { pattern: /<\d+>/, alias: "symbol" } ], "macro": { pattern: /\b[a-z\d][a-z\d-]*::?(?:[^\s\[\]]*\[(?:[^\]\\"']|(["'])(?:\\.|(?!\1)[^\\])*\1|\\.)*\])/, inside: { "function": /^[^:]+/, "punctuation": /^::?/, "attributes": { pattern: /(?:\[(?:[^\]\\"']|(["'])(?:\\.|(?!\1)[^\\])*\1|\\.)*\])/, inside: attributes.inside } } }, "inline": { /* The initial look-behind prevents the highlighting of escaped quoted text. Quoted text can be multi-line but cannot span an empty line. All quoted text can have attributes before [foobar, 'foobar', baz="bar"]. First, we handle the constrained quotes. Those must be bounded by non-word chars and cannot have spaces between the delimiter and the first char. They are, in order: _emphasis_, ``double quotes'', `single quotes', `monospace`, 'emphasis', *strong*, +monospace+ and #unquoted# Then we handle the unconstrained quotes. Those do not have the restrictions of the constrained quotes. They are, in order: __emphasis__, **strong**, ++monospace++, +++passthrough+++, ##unquoted##, $$passthrough$$, ~subscript~, ^superscript^, {attribute-reference}, [[anchor]], [[[bibliography anchor]]], <<xref>>, (((indexes))) and ((indexes)) */ pattern: /(^|[^\\])(?:(?:\B\[(?:[^\]\\"']|(["'])(?:\\.|(?!\2)[^\\])*\2|\\.)*\])?(?:\b_(?!\s)(?: _|\\.|[^\\\n_])+(?:\n(?: _|\\.|[^\\\n_])+)*_\b|\B``(?!\s).+?(?:\n.+?)*''\B|\B`(?!\s)(?:[^`'\s]|\s+\S)+['`]\B|\B(['*+#])(?!\s)(?: \3|\\.|(?!\3)[^\\\n])+(?:\n(?: \3|\\.|(?!\3)[^\\\n])+)*\3\B)|(?:\[(?:[^\]\\"']|(["'])(?:\\.|(?!\4)[^\\])*\4|\\.)*\])?(?:(__|\*\*|\+\+\+?|##|\$\$|[~^]).+?(?:\n.+?)*\5|\{[^\n}]+\}|\[\[\[?.+?(?:\n.+?)*\]?\]\]|<<.+?(?:\n.+?)*>>|\(\(\(?.+?(?:\n.+?)*\)?\)\)))/m, lookbehind: true, inside: { "attributes": attributes, "url": { pattern: /^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/, inside: { "punctuation": /^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/ } }, "attribute-ref": { pattern: /^\{.+\}$/, inside: { "variable": { pattern: /(^\{)[a-z\d,+_-]+/, lookbehind: true }, "operator": /^[=?!#%@$]|!(?=[:}])/, "punctuation": /^\{|\}$|::?/ } }, "italic": { pattern: /^(['_])[^]+\1$/, inside: { "punctuation": /^(?:''?|__?)|(?:''?|__?)$/ } }, "bold": { pattern: /^\*[^]+\*$/, inside: { punctuation: /^\*\*?|\*\*?$/ } }, "punctuation": /^(?:``?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[~^`]|\)\)\)?)$/ } }, "replacement": { pattern: /\((?:C|R|TM)\)/, alias: "builtin" }, "entity": /&#?[a-z\d]{1,8};/i, "line-continuation": { pattern: /(^| )\+$/m, lookbehind: true, alias: "punctuation" } }; var copyFromAsciiDoc = (keys, obj) => { keys = keys.split(" "); obj = obj.inside; for (var i = 0, l = keys.length; i < l; i++) { obj[keys[i]] = asciidoc[keys[i]]; } }; copyFromAsciiDoc("macro inline replacement entity", attributes.inside["interpreted"]); copyFromAsciiDoc("macro", asciidoc["passthrough-block"]); copyFromAsciiDoc("callout", asciidoc["literal-block"]); copyFromAsciiDoc("comment-block passthrough-block literal-block other-block list-punctuation indented-block comment title attribute-entry attributes hr page-break admonition list-label callout macro inline replacement entity line-continuation", asciidoc["table"]); copyFromAsciiDoc("table list-punctuation indented-block comment attribute-entry attributes hr page-break admonition list-label macro inline replacement entity line-continuation", asciidoc["other-block"]); copyFromAsciiDoc("macro inline replacement entity", asciidoc["title"]); //# sourceMappingURL=asciidoc.js.map