1/* 2Language: Java 3Author: Vsevolod Solovyov <vsevolod.solovyov@gmail.com> 4*/ 5 6hljs.LANGUAGES.java = { 7 defaultMode: { 8 lexems: [hljs.UNDERSCORE_IDENT_RE], 9 contains: ['javadoc', 'comment', 'string', 'class', 'number', 'annotation'], 10 keywords: {'false': 1, 'synchronized': 1, 'int': 1, 'abstract': 1, 'float': 1, 'private': 1, 'char': 1, 'interface': 1, 'boolean': 1, 'static': 1, 'null': 1, 'if': 1, 'const': 1, 'for': 1, 'true': 1, 'while': 1, 'long': 1, 'throw': 1, 'strictfp': 1, 'finally': 1, 'protected': 1, 'extends': 1, 'import': 1, 'native': 1, 'final': 1, 'implements': 1, 'return': 1, 'void': 1, 'enum': 1, 'else': 1, 'break': 1, 'transient': 1, 'new': 1, 'catch': 1, 'instanceof': 1, 'byte': 1, 'super': 1, 'class': 1, 'volatile': 1, 'case': 1, 'assert': 1, 'short': 1, 'package': 1, 'default': 1, 'double': 1, 'public': 1, 'try': 1, 'this': 1, 'switch': 1, 'continue': 1, 'throws': 1} 11 }, 12 modes: [ 13 { 14 className: 'class', 15 lexems: [hljs.UNDERSCORE_IDENT_RE], 16 begin: '(class |interface )', end: '{', 17 illegal: ':', 18 keywords: {'class': 1, 'interface': 1}, 19 contains: ['inheritance', 'title'] 20 }, 21 { 22 className: 'inheritance', 23 begin: '(implements|extends)', end: '^', noMarkup: true, 24 lexems: [hljs.IDENT_RE], 25 keywords: {'extends': 1, 'implements': 1}, 26 relevance: 10 27 }, 28 { 29 className: 'title', 30 begin: hljs.UNDERSCORE_IDENT_RE, end: '^' 31 }, 32 { 33 className: 'params', 34 begin: '\\(', end: '\\)', 35 contains: ['string', 'annotation'] 36 }, 37 hljs.C_NUMBER_MODE, 38 hljs.APOS_STRING_MODE, 39 hljs.QUOTE_STRING_MODE, 40 hljs.BACKSLASH_ESCAPE, 41 hljs.C_LINE_COMMENT_MODE, 42 { 43 className: 'javadoc', 44 begin: '/\\*\\*', end: '\\*/', 45 contains: ['javadoctag'], 46 relevance: 10 47 }, 48 { 49 className: 'javadoctag', 50 begin: '@[A-Za-z]+', end: '^' 51 }, 52 hljs.C_BLOCK_COMMENT_MODE, 53 { 54 className: 'annotation', 55 begin: '@[A-Za-z]+', end: '^' 56 } 57 ] 58}; 59