UNPKG

prism-react-editor

Version:

Lightweight, extensible code editor component for React apps

85 lines (84 loc) 2.47 kB
import { l as languages } from "../../index-k28m3HFc.js"; import { c as clone, i as insertBefore } from "../../language-gdIi4UL0-CMkpAmgk.js"; import { a as replace } from "../../shared-Sq5P6lf6-Sq5P6lf6.js"; import "./markup.js"; import "./java.js"; import "./javadoclike.js"; var codeLinePattern = /(^[ ]*(?:\*\s*)*)[^\s*].*/m; var memberReference = "#\\s*\\w+(?:\\s*\\([^()]*\\))?"; var reference = replace("(?:\\b[a-zA-Z]\\w+\\s*\\.\\s*)*\\b[A-Z]\\w*(?:\\s*<0>)?|<0>", [memberReference]); var java = languages.java; var markup = languages.markup; var javadoc = languages.javadoc = clone(languages.javadoclike); insertBefore(javadoc, "keyword", { "reference": { pattern: RegExp(`(@(?:exception|link|linkplain|see|throws|value)\\s+(?:\\*\\s*)?)(?:${reference})`), lookbehind: true, inside: { "function": { pattern: /(#\s*)\w+(?=\s*\()/, lookbehind: true }, "field": { pattern: /(#\s*)\w+/, lookbehind: true }, "namespace": { pattern: /\b(?:[a-z]\w*\s*\.\s*)+/, inside: { "punctuation": /\./ } }, "class-name": /\b[A-Z]\w*/, "keyword": java.keyword, "punctuation": /[()[\].,#]/ } }, "class-name": { // @param <T> the first generic type parameter pattern: /(@param\s+)<[A-Z]\w*>/, lookbehind: true, inside: { "punctuation": /[.<>]/ } }, "code-section": [ { pattern: /(\{@code\s+(?!\s))(?:[^\s{}]|\s+(?![\s}])|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})*\})*\})+(?=\s*\})/, lookbehind: true, inside: { "code": { // there can't be any HTML inside of {@code} tags pattern: codeLinePattern, lookbehind: true, alias: "language-java", inside: java } } }, { pattern: /(<(code|pre|tt)>(?!<code>)\s*)\S(?:\S|\s+\S)*?(?=\s*<\/\2>)/, lookbehind: true, inside: { "line": { pattern: codeLinePattern, lookbehind: true, inside: { // highlight HTML tags and entities "tag": markup.tag, "entity": markup.entity, "code": { // everything else is Java code pattern: /.+/, alias: "language-java", inside: java } } } } } ], "tag": markup.tag, "entity": markup.entity }); //# sourceMappingURL=javadoc.js.map