java function
Highlight.js language definition for java.
Implementation
Mode java(Highlight hljs) {
final Mode mode0 = Mode();
final Mode mode1 = Mode();
final Mode mode2 = Mode();
final Mode mode3 = Mode();
final Mode mode4 = Mode();
final Mode mode5 = Mode();
final Mode mode6 = Mode();
final Mode mode7 = Mode();
final Mode mode8 = Mode();
final Mode mode9 = Mode();
final Mode mode10 = Mode();
final Mode mode11 = Mode();
final Mode mode12 = Mode();
final Mode mode13 = Mode();
final Mode mode14 = Mode();
final Mode mode15 = Mode();
final Mode mode16 = Mode();
final Mode mode17 = Mode();
final Mode mode18 = Mode();
final Mode mode19 = Mode();
final Mode mode20 = Mode();
mode0.scope = r'comment';
mode0.begin = r'//';
mode0.end = r'$';
mode0.contains = [mode1, mode2];
mode1.scope = r'doctag';
mode1.begin = r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)';
mode1.end = r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):';
mode1.excludeBegin = true;
mode1.relevance = 0;
mode2.begin =
r"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}";
mode3.scope = r'comment';
mode3.begin = r'/\*';
mode3.end = r'\*/';
mode3.contains = [mode4, mode5];
mode4.scope = r'doctag';
mode4.begin = r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)';
mode4.end = r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):';
mode4.excludeBegin = true;
mode4.relevance = 0;
mode5.begin =
r"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}";
mode6.begin = r'\\[\s\S]';
mode6.relevance = 0;
mode7.scope = r'string';
mode7.begin = r"'";
mode7.end = r"'";
mode7.illegal = r'\n';
mode7.contains = [mode6];
mode8.scope = r'string';
mode8.begin = r'"';
mode8.end = r'"';
mode8.illegal = r'\n';
mode8.contains = [mode6];
mode9.scope = r'meta';
mode9.begin = r'@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*';
mode9.contains = [mode10];
mode10.begin = r'\(';
mode10.end = r'\)';
mode10.contains = [r'self'];
mode11.scope = r'number';
mode11.variants = [
mode12,
mode13,
mode14,
mode15,
mode16,
mode17,
mode18,
mode19,
mode20,
];
mode11.relevance = 0;
mode12.begin =
r'(\b([0-9](_*[0-9])*)((\.([0-9](_*[0-9])*))|\.)?|(\.([0-9](_*[0-9])*)))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\b';
mode13.begin =
r'\b([0-9](_*[0-9])*)((\.([0-9](_*[0-9])*))[fFdD]?\b|\.([fFdD]\b)?)';
mode14.begin = r'(\.([0-9](_*[0-9])*))[fFdD]?\b';
mode15.begin = r'\b([0-9](_*[0-9])*)[fFdD]\b';
mode16.begin =
r'\b0[xX](([0-9a-fA-F](_*[0-9a-fA-F])*)\.?|([0-9a-fA-F](_*[0-9a-fA-F])*)?\.([0-9a-fA-F](_*[0-9a-fA-F])*))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\b';
mode17.begin = r'\b(0|[1-9](_*[0-9])*)[lL]?\b';
mode18.begin = r'\b0[xX]([0-9a-fA-F](_*[0-9a-fA-F])*)[lL]?\b';
mode19.begin = r'\b0(_*[0-7])*[lL]?\b';
mode20.begin = r'\b0[bB][01](_*[01])*[lL]?\b';
return Mode(
name: r'Java',
aliases: [r'jsp'],
keywords: {
r'keyword': [
r'synchronized',
r'abstract',
r'private',
r'var',
r'static',
r'if',
r'const ',
r'for',
r'while',
r'strictfp',
r'finally',
r'protected',
r'import',
r'native',
r'final',
r'void',
r'enum',
r'else',
r'break',
r'transient',
r'catch',
r'instanceof',
r'volatile',
r'case',
r'assert',
r'package',
r'default',
r'public',
r'try',
r'switch',
r'continue',
r'throws',
r'protected',
r'public',
r'private',
r'module',
r'requires',
r'exports',
r'do',
r'sealed',
r'yield',
r'permits',
r'goto',
r'when',
],
r'literal': [r'false', r'true', r'null'],
r'type': [
r'char',
r'boolean',
r'long',
r'float',
r'int',
r'byte',
r'short',
r'double',
],
r'built_in': [r'super', r'this'],
},
illegal: r'<\/|#',
contains: [
Mode(
scope: r'comment',
begin: r'/\*\*',
end: r'\*/',
contains: [
Mode(begin: r'\w+@', relevance: 0),
Mode(scope: r'doctag', begin: r'@[A-Za-z]+'),
Mode(
scope: r'doctag',
begin: r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',
end: r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):',
excludeBegin: true,
relevance: 0,
),
Mode(
begin:
r"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}",
),
],
relevance: 0,
),
Mode(begin: r'import java\.[a-z]+\.', keywords: r'import', relevance: 2),
mode0,
mode3,
Mode(begin: r'"""', end: r'"""', scope: r'string', contains: [mode6]),
mode7,
mode8,
Mode(
match: [
r'\b(?:class|interface|enum|extends|implements|new)',
r'\s+',
r'[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*',
],
scope: {1: r'keyword', 3: r'title.class'},
),
Mode(match: r'non-sealed', scope: r'keyword'),
Mode(
begin: [
r'(?!else)[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*',
r'\s+',
r'[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*',
r'\s+',
r'=(?!=)',
],
scope: {1: r'type', 3: r'variable', 5: r'operator'},
),
Mode(
begin: [r'record', r'\s+', r'[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*'],
scope: {1: r'keyword', 3: r'title.class'},
contains: [
Mode(
scope: r'params',
begin: r'\(',
end: r'\)',
keywords: {
r'keyword': [
r'synchronized',
r'abstract',
r'private',
r'var',
r'static',
r'if',
r'const ',
r'for',
r'while',
r'strictfp',
r'finally',
r'protected',
r'import',
r'native',
r'final',
r'void',
r'enum',
r'else',
r'break',
r'transient',
r'catch',
r'instanceof',
r'volatile',
r'case',
r'assert',
r'package',
r'default',
r'public',
r'try',
r'switch',
r'continue',
r'throws',
r'protected',
r'public',
r'private',
r'module',
r'requires',
r'exports',
r'do',
r'sealed',
r'yield',
r'permits',
r'goto',
r'when',
],
r'literal': [r'false', r'true', r'null'],
r'type': [
r'char',
r'boolean',
r'long',
r'float',
r'int',
r'byte',
r'short',
r'double',
],
r'built_in': [r'super', r'this'],
},
relevance: 0,
contains: [mode3],
endsParent: true,
),
mode0,
mode3,
],
),
Mode(beginKeywords: r'new throw return else', relevance: 0),
Mode(
begin: [
r'(?:[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(?:<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(?:<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(?:<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(?:\s*,\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?(?:\s*,\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(?:<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(?:\s*,\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?)*>)?(?:\s*,\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(?:<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(?:<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(?:\s*,\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?(?:\s*,\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(?:<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(?:\s*,\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?)*>)?)*>)?\s+)',
r'[a-zA-Z_]\w*',
r'\s*(?=\()',
],
scope: {2: r'title.function'},
keywords: {
r'keyword': [
r'synchronized',
r'abstract',
r'private',
r'var',
r'static',
r'if',
r'const ',
r'for',
r'while',
r'strictfp',
r'finally',
r'protected',
r'import',
r'native',
r'final',
r'void',
r'enum',
r'else',
r'break',
r'transient',
r'catch',
r'instanceof',
r'volatile',
r'case',
r'assert',
r'package',
r'default',
r'public',
r'try',
r'switch',
r'continue',
r'throws',
r'protected',
r'public',
r'private',
r'module',
r'requires',
r'exports',
r'do',
r'sealed',
r'yield',
r'permits',
r'goto',
r'when',
],
r'literal': [r'false', r'true', r'null'],
r'type': [
r'char',
r'boolean',
r'long',
r'float',
r'int',
r'byte',
r'short',
r'double',
],
r'built_in': [r'super', r'this'],
},
contains: [
Mode(
scope: r'params',
begin: r'\(',
end: r'\)',
keywords: {
r'keyword': [
r'synchronized',
r'abstract',
r'private',
r'var',
r'static',
r'if',
r'const ',
r'for',
r'while',
r'strictfp',
r'finally',
r'protected',
r'import',
r'native',
r'final',
r'void',
r'enum',
r'else',
r'break',
r'transient',
r'catch',
r'instanceof',
r'volatile',
r'case',
r'assert',
r'package',
r'default',
r'public',
r'try',
r'switch',
r'continue',
r'throws',
r'protected',
r'public',
r'private',
r'module',
r'requires',
r'exports',
r'do',
r'sealed',
r'yield',
r'permits',
r'goto',
r'when',
],
r'literal': [r'false', r'true', r'null'],
r'type': [
r'char',
r'boolean',
r'long',
r'float',
r'int',
r'byte',
r'short',
r'double',
],
r'built_in': [r'super', r'this'],
},
relevance: 0,
contains: [mode9, mode7, mode8, mode11, mode3],
),
mode0,
mode3,
],
),
mode11,
mode9,
],
);
}