UNPKG

prism-code-editor

Version:

Lightweight, extensible code editor component for the web using Prism

79 lines (78 loc) 2.32 kB
import { l as languages } from "../../index-C1_GGQ8y.js"; import { i as insertBefore, e as extend } from "../../language-gdIi4UL0.js"; import { r as re } from "../../shared-Sq5P6lf6.js"; import "./javascript.js"; import "./javadoclike.js"; import "./typescript.js"; var javascript = languages.js; var type = "\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}"; var parameterPrefix = `(@(?:arg|argument|param|property)\\s+(?:${type}\\s+)?)`; insertBefore( languages.jsdoc = extend("javadoclike", { "parameter": { // @param {string} foo - foo bar pattern: RegExp(parameterPrefix + "(?:(?!\\s)[$\\w\\xa0-\\uffff.])+(?!\\S)"), lookbehind: true, inside: { "punctuation": /\./ } } }), "keyword", { "optional-parameter": { // @param {string} [baz.foo="bar"] foo bar pattern: RegExp(parameterPrefix + "\\[(?:(?!\\s)[$\\w\\xa0-\\uffff.])+(?:=[^[\\]]+)?\\](?!\\S)"), lookbehind: true, inside: { "code": { pattern: /(=)[^]+(?=.)/, lookbehind: true, alias: "language-javascript", inside: javascript }, "punctuation": /[=[\]]/, "parameter": { pattern: /[^]+/, inside: { "punctuation": /\./ } } } }, "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: { "punctuation": /\./ } }, { pattern: RegExp("(@[a-z]+\\s+)" + type), lookbehind: true, inside: { "string": javascript.string, "number": javascript.number, "boolean": javascript.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 } } } } ); //# sourceMappingURL=jsdoc.js.map