(e)
| 369 | begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], |
| 370 | relevance:0};function Oe(e,t,a){return-1===a?"":e.replace(t,(n=>Oe(e,t,a-1)))} |
| 371 | function fe(e){const t=e.regex,a=re,n={begin:/<[A-Za-z0-9\\._:-]+/, |
| 372 | end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{ |
| 373 | const a=e[0].length+e.index,n=e.input[a] |
| 374 | ;if("<"===n||","===n)return void t.ignoreMatch();let r |
| 375 | ;">"===n&&(((e,{after:t})=>{const a="</"+e[0].slice(1) |
| 376 | ;return-1!==e.input.indexOf(a,t)})(e,{after:a |
| 377 | })||t.ignoreMatch()),(r=e.input.substring(a).match(/^\s+extends\s+/))&&0===r.index&&t.ignoreMatch() |
| 378 | }},r={$pattern:re,keyword:ie,literal:se,built_in:de,"variable.language":ce |
| 379 | },i="\\.([0-9](_?[0-9])*)",s="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",o={ |
| 380 | className:"number",variants:[{ |
| 381 | begin:`(\\b(${s})((${i})|\\.)?|(${i}))[eE][+-]?([0-9](_?[0-9])*)\\b`},{ |
| 382 | begin:`\\b(${s})\\b((${i})\\b|\\.)?|(${i})\\b`},{ |
| 383 | begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{ |
| 384 | begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{ |
| 385 | begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{ |
| 386 | begin:"\\b0[0-7]+n?\\b"}],relevance:0},l={className:"subst",begin:"\\$\\{", |
| 387 | end:"\\}",keywords:r,contains:[]},_={begin:"html`",end:"",starts:{end:"`", |
| 388 | returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,l],subLanguage:"xml"}},c={ |
| 389 | begin:"css`",end:"",starts:{end:"`",returnEnd:!1, |
| 390 | contains:[e.BACKSLASH_ESCAPE,l],subLanguage:"css"}},d={className:"string", |
| 391 | begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,l]},m={className:"comment", |
| 392 | variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{ |
| 393 | begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag", |
| 394 | begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0, |
| 395 | excludeBegin:!0,relevance:0},{className:"variable",begin:a+"(?=\\s*(-)|$)", |
| 396 | endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}] |
| 397 | }),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE] |
| 398 | },p=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,c,d,o];l.contains=p.concat({ |
| 399 | begin:/\{/,end:/\}/,keywords:r,contains:["self"].concat(p)}) |
| 400 | ;const u=[].concat(m,l.contains),E=u.concat([{begin:/\(/,end:/\)/,keywords:r, |
| 401 | contains:["self"].concat(u)}]),g={className:"params",begin:/\(/,end:/\)/, |
| 402 | excludeBegin:!0,excludeEnd:!0,keywords:r,contains:E},S={variants:[{ |
| 403 | match:[/class/,/\s+/,a,/\s+/,/extends/,/\s+/,t.concat(a,"(",t.concat(/\./,a),")*")], |
| 404 | scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{ |
| 405 | match:[/class/,/\s+/,a],scope:{1:"keyword",3:"title.class"}}]},T={relevance:0, |
| 406 | match:t.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]*)*/), |
| 407 | className:"title.class",keywords:{_:[...oe,...le]}},b={variants:[{ |
| 408 | match:[/function/,/\s+/,a,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}], |
| 409 | className:{1:"keyword",3:"title.function"},label:"func.def",contains:[g], |
| 410 | illegal:/%/},C={ |
| 411 | match:t.concat(/\b/,(R=[..._e,"super"],t.concat("(?!",R.join("|"),")")),a,t.lookahead(/\(/)), |
| 412 | className:"title.function",relevance:0};var R;const N={ |
| 413 | begin:t.concat(/\./,t.lookahead(t.concat(a,/(?![0-9A-Za-z$_(])/))),end:a, |
| 414 | excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},O={ |
| 415 | match:[/get|set/,/\s+/,a,/(?=\()/],className:{1:"keyword",3:"title.function"}, |
| 416 | contains:[{begin:/\(\)/},g] |
| 417 | },f="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",h={ |
| 418 | match:[/const|var|let/,/\s+/,a,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(f)], |
| 419 | keywords:"async",className:{1:"keyword",3:"title.function"},contains:[g]} |
| 420 | ;return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:r,exports:{ |
| 421 | PARAMS_CONTAINS:E,CLASS_REFERENCE:T},illegal:/#(?![$_A-z])/, |
| 422 | contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ |
| 423 | label:"use_strict",className:"meta",relevance:10, |
| 424 | begin:/^\s*['"]use (strict|asm)['"]/ |
| 425 | },e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,c,d,m,o,T,{className:"attr", |
| 426 | begin:a+t.lookahead(":"),relevance:0},h,{ |
| 427 | begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", |
| 428 | keywords:"return throw case",relevance:0,contains:[m,e.REGEXP_MODE,{ |
no test coverage detected