| 18 | ;class r{constructor(e,n){ |
| 19 | this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){ |
| 20 | this.buffer+=t(e)}openNode(e){if(!i(e))return;const n=((e,{prefix:n})=>{ |
| 21 | if(e.startsWith("language:"))return e.replace("language:","language-") |
| 22 | ;if(e.includes(".")){const t=e.split(".") |
| 23 | ;return[`${n}${t.shift()}`,...t.map(((e,n)=>`${e}${"_".repeat(n+1)}`))].join(" ") |
| 24 | }return`${n}${e}`})(e.scope,{prefix:this.classPrefix});this.span(n)} |
| 25 | closeNode(e){i(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){ |
| 26 | this.buffer+=`<span class="${e}">`}}const s=(e={})=>{const n={children:[]} |
| 27 | ;return Object.assign(n,e),n};class o{constructor(){ |