MCPcopy Create free account
hub / github.com/Useful-Scripts-Extension/useful-script / c

Class c

pages/viewScriptSource/libs/highlight.min.js:27–38  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25closeNode(e){s(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){
26this.buffer+=`<span class="${e}">`}}const a=(e={})=>{const t={children:[]}
27;return Object.assign(t,e),t};class c{constructor(){
28this.rootNode=a(),this.stack=[this.rootNode]}get top(){
29return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){
30this.top.children.push(e)}openNode(e){const t=a({scope:e})
31;this.add(t),this.stack.push(t)}closeNode(){
32if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){
33for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}
34walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){
35return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),
36t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){
37"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{
38c._collapse(e)})))}}class l extends c{constructor(e){super(),this.options=e}
39addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())}
40addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root
41;n.sublanguage=!0,n.language=t,this.add(n)}toHTML(){

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected