knowledgebase_law/node_modules/refractor/lang/phpdoc.js

41 lines
1.2 KiB
JavaScript
Raw Normal View History

2025-04-11 23:47:09 +08:00
'use strict'
var refractorPhp = require('./php.js')
var refractorJavadoclike = require('./javadoclike.js')
module.exports = phpdoc
phpdoc.displayName = 'phpdoc'
phpdoc.aliases = []
function phpdoc(Prism) {
Prism.register(refractorPhp)
Prism.register(refractorJavadoclike)
;(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)
}