UNPKG

prism-code-editor

Version:

Lightweight, extensible code editor component for the web using Prism

63 lines (62 loc) 1.98 kB
import { a as languages } from "../../core-8vQkh0Rd.js"; import { n as extend, r as insertBefore } from "../../language-D-vtM55V.js"; import { a as clikeString, o as dotPunctuation, t as boolean } from "../../patterns-C0vJBvXO.js"; import { n as re } from "../../shared-BPLAFNn7.js"; import "./javascript.js"; import "./javadoclike.js"; import "./typescript.js"; //#region src/prism/languages/jsdoc.js var javascript = languages.js; var type = "\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}"; var parameterPrefix = `(@(?:arg|argument|param|property)\\s+(?:${type}\\s+)?)`; insertBefore(languages.jsdoc = extend("javadoclike", { "parameter": { pattern: RegExp(parameterPrefix + "(?:(?!\\s)[$\\w\\xa0-\\uffff.])+(?!\\S)"), lookbehind: true, inside: dotPunctuation } }), "keyword", { "optional-parameter": { pattern: RegExp(parameterPrefix + "\\[(?:(?!\\s)[$\\w\\xa0-\\uffff.])+(?:=[^[\\]]+)?\\](?!\\S)"), lookbehind: true, inside: { "code": { pattern: /(=)[^]+(?=.)/, lookbehind: true, alias: "language-javascript", inside: javascript }, "punctuation": /[=[\]]/, "parameter": { pattern: /[^]+/, inside: dotPunctuation } } }, "class-name": [{ pattern: re("(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\\s+(?:<0>\\s+)?)[A-Z]\\w*(?:\\.[A-Z]\\w*)*", [type]), lookbehind: true, inside: dotPunctuation }, { pattern: RegExp("(@[a-z]+\\s+)" + type), lookbehind: true, inside: { "string": clikeString, "number": javascript.number, "boolean": boolean, "keyword": languages.ts.keyword, "operator": /=>|\.{3}|[&|?:*]/, "punctuation": /[()[\]{}.,;<>=]/ } }], "example": { pattern: /(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/, lookbehind: true, inside: { "code": { pattern: /^([ ]*(?:\*[ ]*|(?!\*)))\S.*/m, lookbehind: true, alias: "language-javascript", inside: javascript } } } }); //#endregion //# sourceMappingURL=jsdoc.js.map