UNPKG

1.05 kBJavaScriptView Raw
1Prism.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
10Prism.languages.insertBefore('java','function', {
11 'annotation': {
12 alias: 'punctuation',
13 pattern: /(^|[^.])@\w+/,
14 lookbehind: true
15 }
16});
17
18Prism.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});