UNPKG

3.02 kBJavaScriptView Raw
1hljs.registerLanguage("coffeescript",(()=>{"use strict"
2;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"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"])
3;return r=>{const t={
4keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((i=["var","const","let","function","static"],
5e=>!i.includes(e))).join(" "),
6literal:n.concat(["yes","no","on","off"]).join(" "),
7built_in:a.concat(["npm","print"]).join(" ")};var i
8;const s="[A-Za-z$_][0-9A-Za-z$_]*",o={className:"subst",begin:/#\{/,end:/\}/,
9keywords:t},c=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{
10end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,
11end:/'''/,contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,
12contains:[r.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,
13contains:[r.BACKSLASH_ESCAPE,o]},{begin:/"/,end:/"/,
14contains:[r.BACKSLASH_ESCAPE,o]}]},{className:"regexp",variants:[{begin:"///",
15end:"///",contains:[o,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",
16relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+s
17},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{
18begin:"```",end:"```"},{begin:"`",end:"`"}]}];o.contains=c
19;const l=r.inherit(r.TITLE_MODE,{begin:s}),d="(\\(.*\\)\\s*)?\\B[-=]>",g={
20className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,
21end:/\)/,keywords:t,contains:["self"].concat(c)}]};return{name:"CoffeeScript",
22aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/,
23contains:c.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{
24className:"function",begin:"^\\s*"+s+"\\s*=\\s*"+d,end:"[-=]>",returnBegin:!0,
25contains:[l,g]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",
26begin:d,end:"[-=]>",returnBegin:!0,contains:[g]}]},{className:"class",
27beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{
28beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[l]},l]
29},{begin:s+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}})());
\No newline at end of file