29 lines
3.0 KiB
JavaScript
29 lines
3.0 KiB
JavaScript
/*! `coffeescript` grammar compiled for Highlight.js 11.9.0 */
|
|
(()=>{var e=(()=>{"use strict"
|
|
;const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],r=[].concat(["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"])
|
|
;return t=>{const a={
|
|
keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((i=["var","const","let","function","static"],
|
|
e=>!i.includes(e))),literal:n.concat(["yes","no","on","off"]),
|
|
built_in:r.concat(["npm","print"])};var i;const s="[A-Za-z$_][0-9A-Za-z$_]*",o={
|
|
className:"subst",begin:/#\{/,end:/\}/,keywords:a
|
|
},c=[t.BINARY_NUMBER_MODE,t.inherit(t.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",
|
|
relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,
|
|
contains:[t.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[t.BACKSLASH_ESCAPE]
|
|
},{begin:/"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,o]},{begin:/"/,end:/"/,
|
|
contains:[t.BACKSLASH_ESCAPE,o]}]},{className:"regexp",variants:[{begin:"///",
|
|
end:"///",contains:[o,t.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",
|
|
relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+s
|
|
},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{
|
|
begin:"```",end:"```"},{begin:"`",end:"`"}]}];o.contains=c
|
|
;const l=t.inherit(t.TITLE_MODE,{begin:s}),d="(\\(.*\\)\\s*)?\\B[-=]>",g={
|
|
className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,
|
|
end:/\)/,keywords:a,contains:["self"].concat(c)}]},u={variants:[{
|
|
match:[/class\s+/,s,/\s+extends\s+/,s]},{match:[/class\s+/,s]}],scope:{
|
|
2:"title.class",4:"title.class.inherited"},keywords:a};return{
|
|
name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:a,illegal:/\/\*/,
|
|
contains:[...c,t.COMMENT("###","###"),t.HASH_COMMENT_MODE,{className:"function",
|
|
begin:"^\\s*"+s+"\\s*=\\s*"+d,end:"[-=]>",returnBegin:!0,contains:[l,g]},{
|
|
begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:d,
|
|
end:"[-=]>",returnBegin:!0,contains:[g]}]},u,{begin:s+":",end:":",
|
|
returnBegin:!0,returnEnd:!0,relevance:0}]}}})()
|
|
;hljs.registerLanguage("coffeescript",e)})(); |