UNPKG

1.25 kBJavaScriptView Raw
1(function (Prism) {
2
3 var codeLines = {
4 'code': {
5 pattern: /(^(?:\s*(?:\*\s*)*)).*[^*\s].+$/m,
6 lookbehind: true,
7 inside: Prism.languages.java,
8 alias: 'language-java'
9 }
10 };
11
12 Prism.languages.javadoc = Prism.languages.extend('javadoclike', {});
13 Prism.languages.insertBefore('javadoc', 'keyword', {
14 'class-name': [
15 {
16 pattern: /(@(?:exception|throws|see|link|linkplain|value)\s+(?:[a-z\d]+\.)*)[A-Z](?:\w*[a-z]\w*)?(?:\.[A-Z](?:\w*[a-z]\w*)?)*/,
17 lookbehind: true,
18 inside: {
19 'punctuation': /\./
20 }
21 },
22 {
23 // @param <T> the first generic type parameter
24 pattern: /(@param\s+)<[A-Z]\w*>/,
25 lookbehind: true,
26 inside: {
27 'punctuation': /[.<>]/
28 }
29 }
30 ],
31 'namespace': {
32 pattern: /(@(?:exception|throws|see|link|linkplain)\s+)(?:[a-z\d]+\.)+/,
33 lookbehind: true,
34 inside: {
35 'punctuation': /\./
36 }
37 },
38 'code-section': [
39 {
40 pattern: /(\{@code\s+)(?:[^{}]|\{[^{}]*\})+?(?=\s*\})/,
41 lookbehind: true,
42 inside: codeLines
43 },
44 {
45 pattern: /(<(code|tt)>\s*)[\s\S]+?(?=\s*<\/\2>)/,
46 lookbehind: true,
47 inside: codeLines
48 }
49 ],
50 'tag': Prism.languages.markup.tag,
51 });
52
53 Prism.languages.javadoclike.addSupport('java', Prism.languages.javadoc);
54}(Prism));