Mercurial
annotate third_party/highlight/languages/javascript.min.js @ 182:d6ab5921fedc
Merging in changes I had on my mac related to JSON parser and MPC endpoints.
| author | June Park <parkjune1995@gmail.com> |
|---|---|
| date | Fri, 23 Jan 2026 21:09:49 -0800 |
| parents | 2db6253f355d |
| children |
| rev | line source |
|---|---|
|
157
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
1 /*! `javascript` grammar compiled for Highlight.js 11.11.1 */ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
2 (()=>{var e=(()=>{"use strict" |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
3 ;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["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","using"],a=["true","false","null","undefined","NaN","Infinity"],t=["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"],s=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],r=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],c=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],i=[].concat(r,t,s) |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
4 ;return o=>{const l=o.regex,d=e,b={begin:/<[A-Za-z0-9\\._:-]+/, |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
5 end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
6 const a=e[0].length+e.index,t=e.input[a] |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
7 ;if("<"===t||","===t)return void n.ignoreMatch();let s |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
8 ;">"===t&&(((e,{after:n})=>{const a="</"+e[0].slice(1) |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
9 ;return-1!==e.input.indexOf(a,n)})(e,{after:a})||n.ignoreMatch()) |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
10 ;const r=e.input.substring(a) |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
11 ;((s=r.match(/^\s*=/))||(s=r.match(/^\s+extends\s+/))&&0===s.index)&&n.ignoreMatch() |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
12 }},g={$pattern:e,keyword:n,literal:a,built_in:i,"variable.language":c |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
13 },u="[0-9](_?[0-9])*",m=`\\.(${u})`,E="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",A={ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
14 className:"number",variants:[{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
15 begin:`(\\b(${E})((${m})|\\.)?|(${m}))[eE][+-]?(${u})\\b`},{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
16 begin:`\\b(${E})\\b((${m})\\b|\\.)?|(${m})\\b`},{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
17 begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
18 begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
19 begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
20 begin:"\\b0[0-7]+n?\\b"}],relevance:0},y={className:"subst",begin:"\\$\\{", |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
21 end:"\\}",keywords:g,contains:[]},h={begin:".?html`",end:"",starts:{end:"`", |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
22 returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,y],subLanguage:"xml"}},_={ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
23 begin:".?css`",end:"",starts:{end:"`",returnEnd:!1, |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
24 contains:[o.BACKSLASH_ESCAPE,y],subLanguage:"css"}},N={begin:".?gql`",end:"", |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
25 starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,y], |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
26 subLanguage:"graphql"}},f={className:"string",begin:"`",end:"`", |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
27 contains:[o.BACKSLASH_ESCAPE,y]},p={className:"comment", |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
28 variants:[o.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
29 begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag", |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
30 begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0, |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
31 excludeBegin:!0,relevance:0},{className:"variable",begin:d+"(?=\\s*(-)|$)", |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
32 endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}] |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
33 }),o.C_BLOCK_COMMENT_MODE,o.C_LINE_COMMENT_MODE] |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
34 },v=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,h,_,N,f,{match:/\$\d+/},A] |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
35 ;y.contains=v.concat({begin:/\{/,end:/\}/,keywords:g,contains:["self"].concat(v) |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
36 });const S=[].concat(p,y.contains),w=S.concat([{begin:/(\s*)\(/,end:/\)/, |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
37 keywords:g,contains:["self"].concat(S)}]),R={className:"params",begin:/(\s*)\(/, |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
38 end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:g,contains:w},O={variants:[{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
39 match:[/class/,/\s+/,d,/\s+/,/extends/,/\s+/,l.concat(d,"(",l.concat(/\./,d),")*")], |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
40 scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
41 match:[/class/,/\s+/,d],scope:{1:"keyword",3:"title.class"}}]},k={relevance:0, |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
42 match:l.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/), |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
43 className:"title.class",keywords:{_:[...t,...s]}},I={variants:[{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
44 match:[/function/,/\s+/,d,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}], |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
45 className:{1:"keyword",3:"title.function"},label:"func.def",contains:[R], |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
46 illegal:/%/},x={ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
47 match:l.concat(/\b/,(T=[...r,"super","import"].map((e=>e+"\\s*\\(")), |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
48 l.concat("(?!",T.join("|"),")")),d,l.lookahead(/\s*\(/)), |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
49 className:"title.function",relevance:0};var T;const C={ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
50 begin:l.concat(/\./,l.lookahead(l.concat(d,/(?![0-9A-Za-z$_(])/))),end:d, |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
51 excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},M={ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
52 match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:"keyword",3:"title.function"}, |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
53 contains:[{begin:/\(\)/},R] |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
54 },B="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",$={ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
55 match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,l.lookahead(B)], |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
56 keywords:"async",className:{1:"keyword",3:"title.function"},contains:[R]} |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
57 ;return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:g,exports:{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
58 PARAMS_CONTAINS:w,CLASS_REFERENCE:k},illegal:/#(?![$_A-z])/, |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
59 contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
60 label:"use_strict",className:"meta",relevance:10, |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
61 begin:/^\s*['"]use (strict|asm)['"]/ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
62 },o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,h,_,N,f,p,{match:/\$\d+/},A,k,{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
63 scope:"attr",match:d+l.lookahead(":"),relevance:0},$,{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
64 begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
65 keywords:"return throw case",relevance:0,contains:[p,o.REGEXP_MODE,{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
66 className:"function",begin:B,returnBegin:!0,end:"\\s*=>",contains:[{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
67 className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
68 className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/, |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
69 excludeBegin:!0,excludeEnd:!0,keywords:g,contains:w}]}]},{begin:/,/,relevance:0 |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
70 },{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:"</>"},{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
71 match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:b.begin, |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
72 "on:begin":b.isTrulyOpeningTag,end:b.end}],subLanguage:"xml",contains:[{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
73 begin:b.begin,end:b.end,skip:!0,contains:["self"]}]}]},I,{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
74 beginKeywords:"while if switch catch for"},{ |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
75 begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
76 returnBegin:!0,label:"func.def",contains:[R,o.inherit(o.TITLE_MODE,{begin:d, |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
77 className:"title.function"})]},{match:/\.\.\./,relevance:0},C,{match:"\\$"+d, |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
78 relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
79 contains:[R]},x,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
80 className:"variable.constant"},O,M,{match:/\$[(.]/}]}}})() |
|
2db6253f355d
[ThirdParty] Added highlight library for better readability on blog.
June Park <parkjune1995@gmail.com>
parents:
diff
changeset
|
81 ;hljs.registerLanguage("javascript",e)})(); |