| 50 | function S(e){return RegExp(e.toString()+"|").exec("").length-1} |
| 51 | const T=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ |
| 52 | ;function b(e,{joinWith:t}){let a=0;return e.map((e=>{a+=1;const t=a |
| 53 | ;let n=d(e),r="";for(;n.length>0;){const e=T.exec(n);if(!e){r+=n;break} |
| 54 | r+=n.substring(0,e.index), |
| 55 | n=n.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?r+="\\"+(Number(e[1])+t):(r+=e[0], |
| 56 | "("===e[0]&&a++)}return r})).map((e=>`(${e})`)).join(t)} |
| 57 | const C="[a-zA-Z]\\w*",R="[a-zA-Z_]\\w*",N="\\b\\d+(\\.\\d+)?",O="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",f="\\b(0b[01]+)",h={ |
| 58 | begin:"\\\\[\\s\\S]",relevance:0},I={scope:"string",begin:"'",end:"'", |
| 59 | illegal:"\\n",contains:[h]},A={scope:"string",begin:'"',end:'"',illegal:"\\n", |