livescript function
Highlight.js language definition for livescript.
Implementation
Mode livescript(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();
mode0.scope = r'number';
mode0.begin = r'\b(0b[01]+)';
mode0.relevance = 0;
mode1.scope = r'number';
mode1.begin =
r'(\b0[xX][a-fA-F0-9_]+)|(\b\d(\d|_\d)*(\.(\d(\d|_\d)*)?)?(_*[eE]([-+]\d(_\d|\d)*)?)?[_a-z]*)';
mode1.relevance = 0;
mode1.starts = mode2;
mode2.end = r'(\s*/)?';
mode2.relevance = 0;
mode3.scope = r'string';
mode3.variants = [mode4, mode6, mode7, mode18, mode19];
mode4.begin = r"'''";
mode4.end = r"'''";
mode4.contains = [mode5];
mode5.begin = r'\\[\s\S]';
mode5.relevance = 0;
mode6.begin = r"'";
mode6.end = r"'";
mode6.contains = [mode5];
mode7.begin = r'"""';
mode7.end = r'"""';
mode7.contains = [mode5, mode8, mode17];
mode8.scope = r'subst';
mode8.begin = r'#\{';
mode8.end = r'\}';
mode8.keywords = {
r'keyword': [
r'as',
r'in',
r'of',
r'if',
r'for',
r'while',
r'finally',
r'var',
r'new',
r'function',
r'do',
r'return',
r'void',
r'else',
r'break',
r'catch',
r'instanceof',
r'with',
r'throw',
r'case',
r'default',
r'try',
r'switch',
r'continue',
r'typeof',
r'delete',
r'let',
r'yield',
r'const',
r'class',
r'debugger',
r'async',
r'await',
r'static',
r'import',
r'from',
r'export',
r'extends',
r'using',
r'then',
r'unless',
r'until',
r'loop',
r'of',
r'by',
r'when',
r'and',
r'or',
r'is',
r'isnt',
r'not',
r'it',
r'that',
r'otherwise',
r'from',
r'to',
r'til',
r'fallthrough',
r'case',
r'enum',
r'native',
r'list',
r'map',
r'__hasProp',
r'__extends',
r'__slice',
r'__bind',
r'__indexOf',
],
r'literal': [
r'true',
r'false',
r'null',
r'undefined',
r'NaN',
r'Infinity',
r'yes',
r'no',
r'on',
r'off',
r'it',
r'that',
r'void',
],
r'built_in': [
r'setInterval',
r'setTimeout',
r'clearInterval',
r'clearTimeout',
r'require',
r'exports',
r'eval',
r'isFinite',
r'isNaN',
r'parseFloat',
r'parseInt',
r'decodeURI',
r'decodeURIComponent',
r'encodeURI',
r'encodeURIComponent',
r'escape',
r'unescape',
r'Object',
r'Function',
r'Boolean',
r'Symbol',
r'Math',
r'Date',
r'Number',
r'BigInt',
r'String',
r'RegExp',
r'Array',
r'Float32Array',
r'Float64Array',
r'Int8Array',
r'Uint8Array',
r'Uint8ClampedArray',
r'Int16Array',
r'Int32Array',
r'Uint16Array',
r'Uint32Array',
r'BigInt64Array',
r'BigUint64Array',
r'Set',
r'Map',
r'WeakSet',
r'WeakMap',
r'ArrayBuffer',
r'SharedArrayBuffer',
r'Atomics',
r'DataView',
r'JSON',
r'Promise',
r'Generator',
r'GeneratorFunction',
r'AsyncFunction',
r'Reflect',
r'Proxy',
r'Intl',
r'WebAssembly',
r'Error',
r'EvalError',
r'InternalError',
r'RangeError',
r'ReferenceError',
r'SyntaxError',
r'TypeError',
r'URIError',
r'npm',
r'print',
],
};
mode8.contains = [mode0, mode1, mode3, mode9, mode15, mode16];
mode9.scope = r'regexp';
mode9.variants = [mode10, mode14];
mode10.begin = r'//';
mode10.end = r'//[gim]*';
mode10.contains = [mode8, mode11];
mode11.scope = r'comment';
mode11.begin = r'#';
mode11.end = r'$';
mode11.contains = [mode12, mode13];
mode12.scope = r'doctag';
mode12.begin = r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)';
mode12.end = r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):';
mode12.excludeBegin = true;
mode12.relevance = 0;
mode13.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}";
mode14.begin = r'\/(?![ *])(\\.|[^\\\n])*?\/[gim]*(?=\W)';
mode15.begin = r'@[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*';
mode16.begin = r'``';
mode16.end = r'``';
mode16.excludeBegin = true;
mode16.excludeEnd = true;
mode16.subLanguage = r'javascript';
mode17.scope = r'subst';
mode17.begin = r'#[A-Za-z$_]';
mode17.end = r'(?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*';
mode17.keywords = {
r'keyword': [
r'as',
r'in',
r'of',
r'if',
r'for',
r'while',
r'finally',
r'var',
r'new',
r'function',
r'do',
r'return',
r'void',
r'else',
r'break',
r'catch',
r'instanceof',
r'with',
r'throw',
r'case',
r'default',
r'try',
r'switch',
r'continue',
r'typeof',
r'delete',
r'let',
r'yield',
r'const',
r'class',
r'debugger',
r'async',
r'await',
r'static',
r'import',
r'from',
r'export',
r'extends',
r'using',
r'then',
r'unless',
r'until',
r'loop',
r'of',
r'by',
r'when',
r'and',
r'or',
r'is',
r'isnt',
r'not',
r'it',
r'that',
r'otherwise',
r'from',
r'to',
r'til',
r'fallthrough',
r'case',
r'enum',
r'native',
r'list',
r'map',
r'__hasProp',
r'__extends',
r'__slice',
r'__bind',
r'__indexOf',
],
r'literal': [
r'true',
r'false',
r'null',
r'undefined',
r'NaN',
r'Infinity',
r'yes',
r'no',
r'on',
r'off',
r'it',
r'that',
r'void',
],
r'built_in': [
r'setInterval',
r'setTimeout',
r'clearInterval',
r'clearTimeout',
r'require',
r'exports',
r'eval',
r'isFinite',
r'isNaN',
r'parseFloat',
r'parseInt',
r'decodeURI',
r'decodeURIComponent',
r'encodeURI',
r'encodeURIComponent',
r'escape',
r'unescape',
r'Object',
r'Function',
r'Boolean',
r'Symbol',
r'Math',
r'Date',
r'Number',
r'BigInt',
r'String',
r'RegExp',
r'Array',
r'Float32Array',
r'Float64Array',
r'Int8Array',
r'Uint8Array',
r'Uint8ClampedArray',
r'Int16Array',
r'Int32Array',
r'Uint16Array',
r'Uint32Array',
r'BigInt64Array',
r'BigUint64Array',
r'Set',
r'Map',
r'WeakSet',
r'WeakMap',
r'ArrayBuffer',
r'SharedArrayBuffer',
r'Atomics',
r'DataView',
r'JSON',
r'Promise',
r'Generator',
r'GeneratorFunction',
r'AsyncFunction',
r'Reflect',
r'Proxy',
r'Intl',
r'WebAssembly',
r'Error',
r'EvalError',
r'InternalError',
r'RangeError',
r'ReferenceError',
r'SyntaxError',
r'TypeError',
r'URIError',
r'npm',
r'print',
],
};
mode18.begin = r'"';
mode18.end = r'"';
mode18.contains = [mode5, mode8, mode17];
mode19.begin = r'\\';
mode19.end = r'(\s|$)';
mode19.excludeEnd = true;
return Mode(
name: r'LiveScript',
aliases: [r'ls'],
keywords: {
r'keyword': [
r'as',
r'in',
r'of',
r'if',
r'for',
r'while',
r'finally',
r'var',
r'new',
r'function',
r'do',
r'return',
r'void',
r'else',
r'break',
r'catch',
r'instanceof',
r'with',
r'throw',
r'case',
r'default',
r'try',
r'switch',
r'continue',
r'typeof',
r'delete',
r'let',
r'yield',
r'const',
r'class',
r'debugger',
r'async',
r'await',
r'static',
r'import',
r'from',
r'export',
r'extends',
r'using',
r'then',
r'unless',
r'until',
r'loop',
r'of',
r'by',
r'when',
r'and',
r'or',
r'is',
r'isnt',
r'not',
r'it',
r'that',
r'otherwise',
r'from',
r'to',
r'til',
r'fallthrough',
r'case',
r'enum',
r'native',
r'list',
r'map',
r'__hasProp',
r'__extends',
r'__slice',
r'__bind',
r'__indexOf',
],
r'literal': [
r'true',
r'false',
r'null',
r'undefined',
r'NaN',
r'Infinity',
r'yes',
r'no',
r'on',
r'off',
r'it',
r'that',
r'void',
],
r'built_in': [
r'setInterval',
r'setTimeout',
r'clearInterval',
r'clearTimeout',
r'require',
r'exports',
r'eval',
r'isFinite',
r'isNaN',
r'parseFloat',
r'parseInt',
r'decodeURI',
r'decodeURIComponent',
r'encodeURI',
r'encodeURIComponent',
r'escape',
r'unescape',
r'Object',
r'Function',
r'Boolean',
r'Symbol',
r'Math',
r'Date',
r'Number',
r'BigInt',
r'String',
r'RegExp',
r'Array',
r'Float32Array',
r'Float64Array',
r'Int8Array',
r'Uint8Array',
r'Uint8ClampedArray',
r'Int16Array',
r'Int32Array',
r'Uint16Array',
r'Uint32Array',
r'BigInt64Array',
r'BigUint64Array',
r'Set',
r'Map',
r'WeakSet',
r'WeakMap',
r'ArrayBuffer',
r'SharedArrayBuffer',
r'Atomics',
r'DataView',
r'JSON',
r'Promise',
r'Generator',
r'GeneratorFunction',
r'AsyncFunction',
r'Reflect',
r'Proxy',
r'Intl',
r'WebAssembly',
r'Error',
r'EvalError',
r'InternalError',
r'RangeError',
r'ReferenceError',
r'SyntaxError',
r'TypeError',
r'URIError',
r'npm',
r'print',
],
},
illegal: r'\/\*',
contains: [
mode0,
mode1,
mode3,
mode9,
mode15,
mode16,
Mode(
scope: r'comment',
begin: r'\/\*',
end: r'\*\/',
contains: [
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}",
),
],
),
mode11,
Mode(begin: r'(#=>|=>|\|>>|-?->|!->)'),
Mode(
scope: r'function',
contains: [
Mode(
scope: r'title',
begin: r'[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*',
relevance: 0,
),
Mode(
scope: r'params',
begin: r'\(',
returnBegin: true,
contains: [
Mode(
begin: r'\(',
end: r'\)',
keywords: {
r'keyword': [
r'as',
r'in',
r'of',
r'if',
r'for',
r'while',
r'finally',
r'var',
r'new',
r'function',
r'do',
r'return',
r'void',
r'else',
r'break',
r'catch',
r'instanceof',
r'with',
r'throw',
r'case',
r'default',
r'try',
r'switch',
r'continue',
r'typeof',
r'delete',
r'let',
r'yield',
r'const',
r'class',
r'debugger',
r'async',
r'await',
r'static',
r'import',
r'from',
r'export',
r'extends',
r'using',
r'then',
r'unless',
r'until',
r'loop',
r'of',
r'by',
r'when',
r'and',
r'or',
r'is',
r'isnt',
r'not',
r'it',
r'that',
r'otherwise',
r'from',
r'to',
r'til',
r'fallthrough',
r'case',
r'enum',
r'native',
r'list',
r'map',
r'__hasProp',
r'__extends',
r'__slice',
r'__bind',
r'__indexOf',
],
r'literal': [
r'true',
r'false',
r'null',
r'undefined',
r'NaN',
r'Infinity',
r'yes',
r'no',
r'on',
r'off',
r'it',
r'that',
r'void',
],
r'built_in': [
r'setInterval',
r'setTimeout',
r'clearInterval',
r'clearTimeout',
r'require',
r'exports',
r'eval',
r'isFinite',
r'isNaN',
r'parseFloat',
r'parseInt',
r'decodeURI',
r'decodeURIComponent',
r'encodeURI',
r'encodeURIComponent',
r'escape',
r'unescape',
r'Object',
r'Function',
r'Boolean',
r'Symbol',
r'Math',
r'Date',
r'Number',
r'BigInt',
r'String',
r'RegExp',
r'Array',
r'Float32Array',
r'Float64Array',
r'Int8Array',
r'Uint8Array',
r'Uint8ClampedArray',
r'Int16Array',
r'Int32Array',
r'Uint16Array',
r'Uint32Array',
r'BigInt64Array',
r'BigUint64Array',
r'Set',
r'Map',
r'WeakSet',
r'WeakMap',
r'ArrayBuffer',
r'SharedArrayBuffer',
r'Atomics',
r'DataView',
r'JSON',
r'Promise',
r'Generator',
r'GeneratorFunction',
r'AsyncFunction',
r'Reflect',
r'Proxy',
r'Intl',
r'WebAssembly',
r'Error',
r'EvalError',
r'InternalError',
r'RangeError',
r'ReferenceError',
r'SyntaxError',
r'TypeError',
r'URIError',
r'npm',
r'print',
],
},
contains: [r'self', mode0, mode1, mode3, mode9, mode15, mode16],
),
],
),
],
returnBegin: true,
variants: [
Mode(
begin:
r'([A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*\s*(?:=|:=)\s*)?(\(.*\)\s*)?\B->\*?',
end: r'->\*?',
),
Mode(
begin:
r'([A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*\s*(?:=|:=)\s*)?!?(\(.*\)\s*)?\B[-~]{1,2}>\*?',
end: r'[-~]{1,2}>\*?',
),
Mode(
begin:
r'([A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*\s*(?:=|:=)\s*)?(\(.*\)\s*)?\B!?[-~]{1,2}>\*?',
end: r'!?[-~]{1,2}>\*?',
),
],
),
Mode(
variants: [
Mode(
match: [
r'class\s+',
r'[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*',
r'\s+extends\s+',
r'[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*',
],
),
Mode(
match: [
r'class\s+',
r'[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*',
],
),
],
scope: {2: r'title.class', 4: r'title.class.inherited'},
keywords: {
r'keyword': [
r'as',
r'in',
r'of',
r'if',
r'for',
r'while',
r'finally',
r'var',
r'new',
r'function',
r'do',
r'return',
r'void',
r'else',
r'break',
r'catch',
r'instanceof',
r'with',
r'throw',
r'case',
r'default',
r'try',
r'switch',
r'continue',
r'typeof',
r'delete',
r'let',
r'yield',
r'const',
r'class',
r'debugger',
r'async',
r'await',
r'static',
r'import',
r'from',
r'export',
r'extends',
r'using',
r'then',
r'unless',
r'until',
r'loop',
r'of',
r'by',
r'when',
r'and',
r'or',
r'is',
r'isnt',
r'not',
r'it',
r'that',
r'otherwise',
r'from',
r'to',
r'til',
r'fallthrough',
r'case',
r'enum',
r'native',
r'list',
r'map',
r'__hasProp',
r'__extends',
r'__slice',
r'__bind',
r'__indexOf',
],
r'literal': [
r'true',
r'false',
r'null',
r'undefined',
r'NaN',
r'Infinity',
r'yes',
r'no',
r'on',
r'off',
r'it',
r'that',
r'void',
],
r'built_in': [
r'setInterval',
r'setTimeout',
r'clearInterval',
r'clearTimeout',
r'require',
r'exports',
r'eval',
r'isFinite',
r'isNaN',
r'parseFloat',
r'parseInt',
r'decodeURI',
r'decodeURIComponent',
r'encodeURI',
r'encodeURIComponent',
r'escape',
r'unescape',
r'Object',
r'Function',
r'Boolean',
r'Symbol',
r'Math',
r'Date',
r'Number',
r'BigInt',
r'String',
r'RegExp',
r'Array',
r'Float32Array',
r'Float64Array',
r'Int8Array',
r'Uint8Array',
r'Uint8ClampedArray',
r'Int16Array',
r'Int32Array',
r'Uint16Array',
r'Uint32Array',
r'BigInt64Array',
r'BigUint64Array',
r'Set',
r'Map',
r'WeakSet',
r'WeakMap',
r'ArrayBuffer',
r'SharedArrayBuffer',
r'Atomics',
r'DataView',
r'JSON',
r'Promise',
r'Generator',
r'GeneratorFunction',
r'AsyncFunction',
r'Reflect',
r'Proxy',
r'Intl',
r'WebAssembly',
r'Error',
r'EvalError',
r'InternalError',
r'RangeError',
r'ReferenceError',
r'SyntaxError',
r'TypeError',
r'URIError',
r'npm',
r'print',
],
},
),
Mode(
begin: r'[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*:',
end: r':',
returnBegin: true,
returnEnd: true,
relevance: 0,
),
],
);
}