ISO-Share/node_modules/prismjs/components/prism-phpdoc.js
2024-11-26 21:16:11 +01:00

27 lines
824 B
JavaScript

(function (Prism) {
var typeExpression = /(?:\b[a-zA-Z]\w*|[|\\[\]])+/.source;
Prism.languages.phpdoc = Prism.languages.extend('javadoclike', {
'parameter': {
pattern: RegExp('(@(?:global|param|property(?:-read|-write)?|var)\\s+(?:' + typeExpression + '\\s+)?)\\$\\w+'),
lookbehind: true
}
});
Prism.languages.insertBefore('phpdoc', 'keyword', {
'class-name': [
{
pattern: RegExp('(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\\s+)' + typeExpression),
lookbehind: true,
inside: {
'keyword': /\b(?:array|bool|boolean|callback|double|false|float|int|integer|mixed|null|object|resource|self|string|true|void)\b/,
'punctuation': /[|\\[\]()]/
}
}
],
});
Prism.languages.javadoclike.addSupport('php', Prism.languages.phpdoc);
}(Prism));