1 line
33 KiB
JavaScript
1 line
33 KiB
JavaScript
|
|
!function(){var h={exports:{}};function t(n){return n instanceof Map?n.clear=n.delete=n.set=function(){throw new Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=function(){throw new Error("set is read-only")}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach(function(e){e=n[e];"object"!=typeof e||Object.isFrozen(e)||t(e)}),n}h.exports=t,h.exports.default=t;class D{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function n(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function l(e,...n){const t=Object.create(null);for(const a in e)t[a]=e[a];return n.forEach(function(e){for(const n in e)t[n]=e[n]}),t}const a=e=>!!e.scope||e.sublanguage&&e.language,i=(e,{prefix:n})=>{var t;return e.includes(".")?[""+n+(t=e.split(".")).shift(),...t.map((e,n)=>""+e+"_".repeat(n+1))].join(" "):""+n+e};class e{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=n(e)}openNode(n){if(a(n)){let e="";e=n.sublanguage?"language-"+n.language:i(n.scope,{prefix:this.classPrefix}),this.span(e)}}closeNode(e){a(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}const s=(e={})=>{var n={children:[]};return Object.assign(n,e),n};class r{constructor(){this.rootNode=s(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){e=s({scope:e});this.add(e),this.stack.push(e)}closeNode(){if(1<this.stack.length)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(n,e){return"string"==typeof e?n.addText(e):e.children&&(n.openNode(e),e.children.forEach(e=>this._walk(n,e)),n.closeNode(e)),n}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{r._collapse(e)}))}}class P extends r{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){e=e.root;e.sublanguage=!0,e.language=n,this.add(e)}toHTML(){return new e(this,this.options).value()}finalize(){return!0}}function c(e){return e?"string"==typeof e?e:e.source:null}function b(e){return p("(?=",e,")")}function H(e){return p("(?:",e,")*")}function U(e){return p("(?:",e,")?")}function p(...e){return e.map(e=>c(e)).join("")}function m(...e){var n,t="object"==typeof(n=(t=e)[t.length-1])&&n.constructor===Object?(t.splice(t.length-1,1),n):{};return"("+(t.capture?"":"?:")+e.map(e=>c(e)).join("|")+")"}function g(e){return new RegExp(e.toString()+"|").exec("").length-1}const A=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function u(e,{joinWith:n}){let s=0;return e.map(e=>{var n=s+=1;let t=c(e),a="";for(;0<t.length;){var i=A.exec(t);if(!i){a+=t;break}a+=t.substring(0,i.index),t=t.substring(i.index+i[0].length),"\\"===i[0][0]&&i[1]?a+="\\"+String(Number(i[1])+n):(a+=i[0],"("===i[0]&&s++)}return a}).map(e=>`(${e})`).join(n)}function o(e,n,t={}){return(e=l({scope:"comment",begin:e,end:n,contains:[]},t)).contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0}),n=m("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/),e.contains.push({begin:p(/[ ]+/,"(",n,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),e}var d="[a-zA-Z]\\w*",f="[a-zA-Z_]\\w*",E="\\b\\d+(\\.\\d+)?",_="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",N="\\b(0b[01]+)",v={begin:"\\\\[\\s\\S]",relevance:0},w={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[v]},T={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[v]},I=o("//","$"),L=o("/\\*","\\*/"),K=o("#","$"),y=Object.freeze({__
|