coffeescript top-level property
Language
coffeescript
final
Implementation
final coffeescript = Language(
id: "coffeescript",
refs: {
'~contains~8~contains~1': Mode(
className: "params",
begin: "\\([^\\(]",
returnBegin: true,
contains: [
Mode(
begin: "\\(",
end: "\\)",
keywords: {
"keyword": [
"as",
"in",
"of",
"if",
"for",
"while",
"finally",
"new",
"do",
"return",
"void",
"else",
"break",
"catch",
"instanceof",
"with",
"throw",
"case",
"default",
"try",
"switch",
"continue",
"typeof",
"delete",
"yield",
"class",
"debugger",
"async",
"await",
"import",
"from",
"export",
"extends",
"then",
"unless",
"until",
"loop",
"by",
"when",
"and",
"or",
"is",
"isnt",
"not"
],
"literal": [
"true",
"false",
"null",
"undefined",
"NaN",
"Infinity",
"yes",
"no",
"on",
"off"
],
"built_in": [
"setInterval",
"setTimeout",
"clearInterval",
"clearTimeout",
"require",
"exports",
"eval",
"isFinite",
"isNaN",
"parseFloat",
"parseInt",
"decodeURI",
"decodeURIComponent",
"encodeURI",
"encodeURIComponent",
"escape",
"unescape",
"Object",
"Function",
"Boolean",
"Symbol",
"Math",
"Date",
"Number",
"BigInt",
"String",
"RegExp",
"Array",
"Float32Array",
"Float64Array",
"Int8Array",
"Uint8Array",
"Uint8ClampedArray",
"Int16Array",
"Int32Array",
"Uint16Array",
"Uint32Array",
"BigInt64Array",
"BigUint64Array",
"Set",
"Map",
"WeakSet",
"WeakMap",
"ArrayBuffer",
"SharedArrayBuffer",
"Atomics",
"DataView",
"JSON",
"Promise",
"Generator",
"GeneratorFunction",
"AsyncFunction",
"Reflect",
"Proxy",
"Intl",
"WebAssembly",
"Error",
"EvalError",
"InternalError",
"RangeError",
"ReferenceError",
"SyntaxError",
"TypeError",
"URIError",
"npm",
"print"
]
},
contains: [
ModeSelfReference(),
BINARY_NUMBER_MODE,
ModeReference('~contains~1'),
ModeReference('~contains~2'),
ModeReference('~contains~2~variants~2~contains~1~contains~3'),
ModeReference('~contains~2~variants~2~contains~1~contains~4'),
ModeReference('~contains~2~variants~2~contains~1~contains~5'),
],
),
],
),
'~contains~2~variants~2~contains~1~contains~5': Mode(
subLanguage: ["javascript"],
excludeBegin: true,
excludeEnd: true,
variants: [
Mode(
begin: "```",
end: "```",
),
Mode(
begin: "`",
end: "`",
),
],
),
'~contains~2~variants~2~contains~1~contains~4': Mode(
begin: "@[A-Za-z\$_][0-9A-Za-z\$_]*",
),
'~contains~2~variants~2~contains~1~contains~3': Mode(
className: "regexp",
variants: [
Mode(
begin: "///",
end: "///",
contains: [
ModeReference('~contains~2~variants~2~contains~1'),
HASH_COMMENT_MODE,
],
),
Mode(
begin: "//[gim]{0,3}(?=\\W)",
relevance: 0,
),
Mode(
begin: "\\/(?![ *]).*?(?![\\\\]).\\/[gim]{0,3}(?=\\W)",
),
],
),
'~contains~2~variants~2~contains~1': Mode(
className: "subst",
begin: "#\\{",
end: "\\}",
keywords: {
"keyword": [
"as",
"in",
"of",
"if",
"for",
"while",
"finally",
"new",
"do",
"return",
"void",
"else",
"break",
"catch",
"instanceof",
"with",
"throw",
"case",
"default",
"try",
"switch",
"continue",
"typeof",
"delete",
"yield",
"class",
"debugger",
"async",
"await",
"import",
"from",
"export",
"extends",
"then",
"unless",
"until",
"loop",
"by",
"when",
"and",
"or",
"is",
"isnt",
"not"
],
"literal": [
"true",
"false",
"null",
"undefined",
"NaN",
"Infinity",
"yes",
"no",
"on",
"off"
],
"built_in": [
"setInterval",
"setTimeout",
"clearInterval",
"clearTimeout",
"require",
"exports",
"eval",
"isFinite",
"isNaN",
"parseFloat",
"parseInt",
"decodeURI",
"decodeURIComponent",
"encodeURI",
"encodeURIComponent",
"escape",
"unescape",
"Object",
"Function",
"Boolean",
"Symbol",
"Math",
"Date",
"Number",
"BigInt",
"String",
"RegExp",
"Array",
"Float32Array",
"Float64Array",
"Int8Array",
"Uint8Array",
"Uint8ClampedArray",
"Int16Array",
"Int32Array",
"Uint16Array",
"Uint32Array",
"BigInt64Array",
"BigUint64Array",
"Set",
"Map",
"WeakSet",
"WeakMap",
"ArrayBuffer",
"SharedArrayBuffer",
"Atomics",
"DataView",
"JSON",
"Promise",
"Generator",
"GeneratorFunction",
"AsyncFunction",
"Reflect",
"Proxy",
"Intl",
"WebAssembly",
"Error",
"EvalError",
"InternalError",
"RangeError",
"ReferenceError",
"SyntaxError",
"TypeError",
"URIError",
"npm",
"print"
]
},
contains: [
BINARY_NUMBER_MODE,
ModeReference('~contains~1'),
ModeReference('~contains~2'),
ModeReference('~contains~2~variants~2~contains~1~contains~3'),
ModeReference('~contains~2~variants~2~contains~1~contains~4'),
ModeReference('~contains~2~variants~2~contains~1~contains~5'),
],
),
'~contains~2': Mode(
className: "string",
variants: [
Mode(
begin: "'''",
end: "'''",
contains: [
BACKSLASH_ESCAPE,
],
),
Mode(
begin: "'",
end: "'",
contains: [
BACKSLASH_ESCAPE,
],
),
Mode(
begin: "\"\"\"",
end: "\"\"\"",
contains: [
BACKSLASH_ESCAPE,
ModeReference('~contains~2~variants~2~contains~1'),
],
),
Mode(
begin: "\"",
end: "\"",
contains: [
BACKSLASH_ESCAPE,
ModeReference('~contains~2~variants~2~contains~1'),
],
),
],
),
'~contains~1': Mode(
scope: "number",
begin:
"(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",
relevance: 0,
starts: Mode(
end: "(\\s*/)?",
relevance: 0,
),
),
},
name: "CoffeeScript",
aliases: ["coffee", "cson", "iced"],
keywords: {
"keyword": [
"as",
"in",
"of",
"if",
"for",
"while",
"finally",
"new",
"do",
"return",
"void",
"else",
"break",
"catch",
"instanceof",
"with",
"throw",
"case",
"default",
"try",
"switch",
"continue",
"typeof",
"delete",
"yield",
"class",
"debugger",
"async",
"await",
"import",
"from",
"export",
"extends",
"then",
"unless",
"until",
"loop",
"by",
"when",
"and",
"or",
"is",
"isnt",
"not"
],
"literal": [
"true",
"false",
"null",
"undefined",
"NaN",
"Infinity",
"yes",
"no",
"on",
"off"
],
"built_in": [
"setInterval",
"setTimeout",
"clearInterval",
"clearTimeout",
"require",
"exports",
"eval",
"isFinite",
"isNaN",
"parseFloat",
"parseInt",
"decodeURI",
"decodeURIComponent",
"encodeURI",
"encodeURIComponent",
"escape",
"unescape",
"Object",
"Function",
"Boolean",
"Symbol",
"Math",
"Date",
"Number",
"BigInt",
"String",
"RegExp",
"Array",
"Float32Array",
"Float64Array",
"Int8Array",
"Uint8Array",
"Uint8ClampedArray",
"Int16Array",
"Int32Array",
"Uint16Array",
"Uint32Array",
"BigInt64Array",
"BigUint64Array",
"Set",
"Map",
"WeakSet",
"WeakMap",
"ArrayBuffer",
"SharedArrayBuffer",
"Atomics",
"DataView",
"JSON",
"Promise",
"Generator",
"GeneratorFunction",
"AsyncFunction",
"Reflect",
"Proxy",
"Intl",
"WebAssembly",
"Error",
"EvalError",
"InternalError",
"RangeError",
"ReferenceError",
"SyntaxError",
"TypeError",
"URIError",
"npm",
"print"
]
},
illegal: "\\/\\*",
contains: [
BINARY_NUMBER_MODE,
ModeReference('~contains~1'),
ModeReference('~contains~2'),
ModeReference('~contains~2~variants~2~contains~1~contains~3'),
ModeReference('~contains~2~variants~2~contains~1~contains~4'),
ModeReference('~contains~2~variants~2~contains~1~contains~5'),
Mode(
scope: "comment",
begin: "###",
end: "###",
contains: [
Mode(
scope: "doctag",
begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",
end: "(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",
excludeBegin: true,
relevance: 0,
),
Mode(
begin:
"[ ]+((?: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}",
),
],
),
HASH_COMMENT_MODE,
Mode(
className: "function",
begin: "^\\s*[A-Za-z\$_][0-9A-Za-z\$_]*\\s*=\\s*(\\(.*\\)\\s*)?\\B[-=]>",
end: "[-=]>",
returnBegin: true,
contains: [
Mode(
scope: "title",
begin: "[A-Za-z\$_][0-9A-Za-z\$_]*",
relevance: 0,
),
ModeReference('~contains~8~contains~1'),
],
),
Mode(
begin: "[:\\(,=]\\s*",
relevance: 0,
contains: [
Mode(
className: "function",
begin: "(\\(.*\\)\\s*)?\\B[-=]>",
end: "[-=]>",
returnBegin: true,
contains: [
ModeReference('~contains~8~contains~1'),
],
),
],
),
Mode(
variants: [
Mode(
match: [
"class\\s+",
"[A-Za-z\$_][0-9A-Za-z\$_]*",
"\\s+extends\\s+",
"[A-Za-z\$_][0-9A-Za-z\$_]*"
],
),
Mode(
match: ["class\\s+", "[A-Za-z\$_][0-9A-Za-z\$_]*"],
),
],
scope: {"2": "title.class", "4": "title.class.inherited"},
keywords: {
"keyword": [
"as",
"in",
"of",
"if",
"for",
"while",
"finally",
"new",
"do",
"return",
"void",
"else",
"break",
"catch",
"instanceof",
"with",
"throw",
"case",
"default",
"try",
"switch",
"continue",
"typeof",
"delete",
"yield",
"class",
"debugger",
"async",
"await",
"import",
"from",
"export",
"extends",
"then",
"unless",
"until",
"loop",
"by",
"when",
"and",
"or",
"is",
"isnt",
"not"
],
"literal": [
"true",
"false",
"null",
"undefined",
"NaN",
"Infinity",
"yes",
"no",
"on",
"off"
],
"built_in": [
"setInterval",
"setTimeout",
"clearInterval",
"clearTimeout",
"require",
"exports",
"eval",
"isFinite",
"isNaN",
"parseFloat",
"parseInt",
"decodeURI",
"decodeURIComponent",
"encodeURI",
"encodeURIComponent",
"escape",
"unescape",
"Object",
"Function",
"Boolean",
"Symbol",
"Math",
"Date",
"Number",
"BigInt",
"String",
"RegExp",
"Array",
"Float32Array",
"Float64Array",
"Int8Array",
"Uint8Array",
"Uint8ClampedArray",
"Int16Array",
"Int32Array",
"Uint16Array",
"Uint32Array",
"BigInt64Array",
"BigUint64Array",
"Set",
"Map",
"WeakSet",
"WeakMap",
"ArrayBuffer",
"SharedArrayBuffer",
"Atomics",
"DataView",
"JSON",
"Promise",
"Generator",
"GeneratorFunction",
"AsyncFunction",
"Reflect",
"Proxy",
"Intl",
"WebAssembly",
"Error",
"EvalError",
"InternalError",
"RangeError",
"ReferenceError",
"SyntaxError",
"TypeError",
"URIError",
"npm",
"print"
]
},
),
Mode(
begin: "[A-Za-z\$_][0-9A-Za-z\$_]*:",
end: ":",
returnBegin: true,
returnEnd: true,
relevance: 0,
),
],
);