1 | Prism.languages.java = Prism.languages.extend('clike', {
|
2 | 'keyword': /\b(?:abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/,
|
3 | 'number': /\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp-]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?[df]?/i,
|
4 | 'operator': {
|
5 | pattern: /(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,
|
6 | lookbehind: true
|
7 | }
|
8 | });
|
9 |
|
10 | Prism.languages.insertBefore('java','function', {
|
11 | 'annotation': {
|
12 | alias: 'punctuation',
|
13 | pattern: /(^|[^.])@\w+/,
|
14 | lookbehind: true
|
15 | }
|
16 | });
|
17 |
|
18 | Prism.languages.insertBefore('java', 'class-name', {
|
19 | 'generics': {
|
20 | pattern: /<\s*\w+(?:\.\w+)?(?:\s*,\s*\w+(?:\.\w+)?)*>/i,
|
21 | alias: 'function',
|
22 | inside: {
|
23 | keyword: Prism.languages.java.keyword,
|
24 | punctuation: /[<>(),.:]/
|
25 | }
|
26 | }
|
27 | });
|