@@ -20924,5 +20924,5 @@ https://github.com/highlightjs/highlight.js/issues/2277`),ee=S,q=C),O===void 0&&
20924
20924
`),r=s[1][1].replace(/\n$/,"").split(`
20925
20925
`),o=Math.max(a.length,r.length);for(let i=0;i<o;i++){const l=ye(s[0][0])!=="disabled"&&typeof a[i]!="undefined",c=ye(s[1][0])!=="disabled"&&typeof r[i]!="undefined";l&&(t.prev=t.prev+1),c&&(t.current=t.current+1);const u=Boolean(ye(s[0][0]).match(/added|removed/)&&ye(s[1][0]).match(/added|removed/));n.push([{type:l?ye(s[0][0]):"disabled",lineNum:l?t.prev:void 0,value:l?a[i]:void 0,chkWords:u},{type:c?ye(s[1][0]):"disabled",lineNum:c?t.current:void 0,value:c?r[i]:void 0,chkWords:u}])}}),n},Bu=e=>{const n=[];let t=0;return e.map(s=>{const a=s[0][1].replace(/\n$/,"").split(`
20926
20926
`),r=s[1][1].replace(/\n$/,"").split(`
20927
- `);a.map(o=>{ye(s[0][0])==="removed"&&n.push([{type:ye(s[0][0]),lineNum:void 0,value:o}])}),r.map(o=>{ye(s[1][0])!=="disabled"&&(t=t+1,n.push([{type:ye(s[1][0]),lineNum:t,value:o}]))})}),n},Uu=(e,n,t)=>{function s(r,o){const i=new Ar.exports.diff_match_patch,l=i.diff_linesToChars_(r,o),c=l.chars1,u=l.chars2,d=l.lineArray,f=i.diff_main(c,u,!1);return i.diff_charsToLines_(f,d),f}const a=s(n,t).reduce((r,o)=>{const i=ye(o[0]);if(i==="equal"&&r.push([o]),i==="removed"&&r.push([o]),i==="added"){const l=r.length&&r[r.length-1][0]?r[r.length-1][0]:null;l&&ye(l[0])==="removed"?r[r.length-1].push(o):r.push([o])}return r},[]);return a.map(r=>{if(r.length>1)return;const o=ye(r[0][0]);o==="added"?r.unshift([2,""]):o==="removed"?r.push([2,""]):o==="equal"&&r.push([...r[0]])}),e==="split"?zu(a):e==="unified"?Bu(a):[]},Wu=(e,n)=>{const t=new Ar.exports.diff_match_patch,s=t.diff_main(e,n);return t.diff_cleanupSemantic(s),s.filter(a=>ye(a[0])!=="removed").map(a=>ye(a[0])==="added"?`${qe}${a[1]}${He}`:a[1]).join("")},$u=({highlightCode:e,language:n,code:t})=>{if(!t.match(new RegExp(`(${qe}|${He})`,"g"))){e.value=Le.highlight(t,{language:n}).value;return}let a=t;const r=t.replace(new RegExp(`(${qe}|${He})`,"g"),"");let o=document.createElement("div");o.innerHTML=Le.highlight(r,{language:n}).value;let i=!1;const l=d=>{d.childNodes.forEach(f=>{if(f.nodeType===1&&l(f),f.nodeType===3){if(!f.textContent)return;let m=f.textContent,y="";for(i&&(y=y+qe);m.length;){if(a.startsWith(qe)){a=a.slice(qe.length),y=y+qe,i=!0;continue}if(a.startsWith(He)){a=a.slice(He.length),y=y+He,i=!1;continue}const w=a.match(new RegExp(`(${qe}|${He})`)),j=w&&w.index?w.index:a.length,I=Math.min(j,m.length);y=y+a.substring(0,I),a=a.slice(I),m=m.slice(I)}i&&(y=y+He),f.textContent=y}})};l(o);const c=qe.replace("<","<").replace(">",">"),u=He.replace("<","<").replace(">",">");e.value=o.innerHTML.replace(new RegExp(c,"g"),'<span class="modified">').replace(new RegExp(u,"g"),"</span>"),o=null},Xu=(e,n,t)=>{const s=we([]),a=we([]),r=Tn(()=>a.value.filter(i=>e.folding?!i.foldable&&i.visible:i.visible));return Ps([()=>e.mode,()=>e.prev,()=>e.current,()=>e.folding],()=>{const i=Uu(e.mode,e.prev,e.current);s.value=i,a.value.splice(s.value.length),s.value.map((l,c)=>{var m;const u=a.value[c],d=e.folding&&l[0].type==="equal"&&((m=s.value[c-1])==null?void 0:m[0].type)==="equal",f={index:c,foldable:d,visible:!0};t.value?a.value[c]=qr(rt({},f),{visible:(u==null?void 0:u.visible)||!1,top:(u==null?void 0:u.top)||void 0,height:(u==null?void 0:u.height)||t.value.lineMinHeight}):a.value[c]=rt({},f)})},{debounce:e.inputDelay,immediate:!0}),{meta:a,render:s,list:r}},Vu=(e,n,t,s)=>{const a=Tn(()=>t.value?s.value.reduce((i,l)=>(l.top=i,l.foldable?i:i+l.height),0)+"px":void 0),r=()=>{if(!n.value||!t.value)return;const o=n.value.scrollTop,i=t.value.height,l=o-i*1.5,c=o+i+i*1.5;s.value.reduce((u,d)=>(u>=l&&u<=c?d.visible=!0:d.visible=!1,d.top=u,d.foldable?u:u+d.height),0)};return Ps([()=>e.mode,()=>e.prev,()=>e.current,()=>e.folding],()=>gt(r),{debounce:e.inputDelay,immediate:!0}),kr(()=>{var o;!t.value||(o=n.value)==null||o.addEventListener("scroll",Rn(r,t.value.delay))}),fs(()=>{var o;!t.value||(o=n.value)==null||o.removeEventListener("scroll",Rn(r,t.value.delay))}),Ue(t,(o,i)=>{var l,c;!i&&o&&((l=n.value)==null||l.addEventListener("scroll",Rn(r,o.delay))),i&&!o&&((c=n.value)==null||c.removeEventListener("scroll",Rn(r,i.delay)))}),{minHeight:a}},Gu=Dt({props:{language:{type:String,required:!0},code:{type:String,required:!0},scrollOptions:{type:[Boolean,Object],default:!1}},emits:["rendered"],setup(e,{emit:n}){const t=we("");return kr(()=>{Ue([()=>e.language,()=>e.code],()=>{$u({highlightCode:t,language:e.language,code:e.code}),gt(()=>n("rendered"))},{immediate:!0}),Ue([()=>e.scrollOptions],()=>{gt(()=>n("rendered"))},{deep:!0})}),{highlightCode:t}}}),Ku=["innerHTML"];function Ju(e,n,t,s,a,r){return le(),ue("pre",null,[G("code",{class:"hljs",innerHTML:e.highlightCode},null,8,Ku)])}var Zu=Mt(Gu,[["render",Ju]]);const Yu=Dt({components:{Code:Zu},props:{mode:{type:String,required:!0},folding:{type:Boolean,default:!1},language:{type:String,required:!0},meta:{type:Object,required:!0},render:{type:Object,required:!0},scrollOptions:{type:[Boolean,Object],default:!1}},setup(e,{emit:n}){const t=we(null),s=Tn(()=>{if(!!e.scrollOptions)return{position:"absolute",left:0,top:0,transform:`translate3d(0, ${e.meta.top}px, 0)`,minHeight:e.scrollOptions.lineMinHeight+"px"}}),a=Tn(()=>e.folding&&e.render[0].type==="equal"),r=(i,l,c)=>{if(!i.value)return`
20927
+ `);a.map(o=>{ye(s[0][0])==="removed"&&n.push([{type:ye(s[0][0]),lineNum:void 0,value:o}])}),r.map(o=>{ye(s[1][0])!=="disabled"&&(t=t+1,n.push([{type:ye(s[1][0]),lineNum:t,value:o}]))})}),n},Uu=(e,n,t)=>{function s(r,o){const i=new Ar.exports.diff_match_patch,l=i.diff_linesToChars_(r,o),c=l.chars1,u=l.chars2,d=l.lineArray,f=i.diff_main(c,u,!1);return i.diff_charsToLines_(f,d),f}const a=s(n,t).reduce((r,o)=>{const i=ye(o[0]);if(i==="equal"&&r.push([o]),i==="removed"&&r.push([o]),i==="added"){const l=r.length&&r[r.length-1][0]?r[r.length-1][0]:null;l&&ye(l[0])==="removed"?r[r.length-1].push(o):r.push([o])}return r},[]);return a.map(r=>{if(r.length>1)return;const o=ye(r[0][0]);o==="added"?r.unshift([2,""]):o==="removed"?r.push([2,""]):o==="equal"&&r.push([...r[0]])}),e==="split"?zu(a):e==="unified"?Bu(a):[]},Wu=(e,n)=>{const t=new Ar.exports.diff_match_patch,s=t.diff_main(e,n);return t.diff_cleanupSemantic(s),s.filter(a=>ye(a[0])!=="removed").map(a=>ye(a[0])==="added"?`${qe}${a[1]}${He}`:a[1]).join("")},$u=({highlightCode:e,language:n,code:t})=>{if(!t.match(new RegExp(`(${qe}|${He})`,"g"))){e.value=Le.highlight(t,{language:n}).value;return}let a=t;const r=t.replace(new RegExp(`(${qe}|${He})`,"g"),"");let o=document.createElement("div");o.innerHTML=Le.highlight(r,{language:n}).value;let i=!1;const l=d=>{d.childNodes.forEach(f=>{if(f.nodeType===1&&l(f),f.nodeType===3){if(!f.textContent)return;let m=f.textContent,y="";for(i&&(y=y+qe);m.length;){if(a.startsWith(qe)){a=a.slice(qe.length),y=y+qe,i=!0;continue}if(a.startsWith(He)){a=a.slice(He.length),y=y+He,i=!1;continue}const w=a.match(new RegExp(`(${qe}|${He})`)),j=w&&w.index?w.index:a.length,I=Math.min(j,m.length);y=y+a.substring(0,I),a=a.slice(I),m=m.slice(I)}i&&(y=y+He),f.textContent=y}})};l(o);const c=qe.replace("<","<").replace(">",">"),u=He.replace("<","<").replace(">",">");e.value=o.innerHTML.replace(new RegExp(c,"g"),'<span class="modified">').replace(new RegExp(u,"g"),"</span>"),console.log(e.value),o=null},Xu=(e,n,t)=>{const s=we([]),a=we([]),r=Tn(()=>a.value.filter(i=>e.folding?!i.foldable&&i.visible:i.visible));return Ps([()=>e.mode,()=>e.prev,()=>e.current,()=>e.folding],()=>{const i=Uu(e.mode,e.prev,e.current);s.value=i,a.value.splice(s.value.length),s.value.map((l,c)=>{var m;const u=a.value[c],d=e.folding&&l[0].type==="equal"&&((m=s.value[c-1])==null?void 0:m[0].type)==="equal",f={index:c,foldable:d,visible:!0};t.value?a.value[c]=qr(rt({},f),{visible:(u==null?void 0:u.visible)||!1,top:(u==null?void 0:u.top)||void 0,height:(u==null?void 0:u.height)||t.value.lineMinHeight}):a.value[c]=rt({},f)})},{debounce:e.inputDelay,immediate:!0}),{meta:a,render:s,list:r}},Vu=(e,n,t,s)=>{const a=Tn(()=>t.value?s.value.reduce((i,l)=>(l.top=i,l.foldable?i:i+l.height),0)+"px":void 0),r=()=>{if(!n.value||!t.value)return;const o=n.value.scrollTop,i=t.value.height,l=o-i*1.5,c=o+i+i*1.5;s.value.reduce((u,d)=>(u>=l&&u<=c?d.visible=!0:d.visible=!1,d.top=u,d.foldable?u:u+d.height),0)};return Ps([()=>e.mode,()=>e.prev,()=>e.current,()=>e.folding],()=>gt(r),{debounce:e.inputDelay,immediate:!0}),kr(()=>{var o;!t.value||(o=n.value)==null||o.addEventListener("scroll",Rn(r,t.value.delay))}),fs(()=>{var o;!t.value||(o=n.value)==null||o.removeEventListener("scroll",Rn(r,t.value.delay))}),Ue(t,(o,i)=>{var l,c;!i&&o&&((l=n.value)==null||l.addEventListener("scroll",Rn(r,o.delay))),i&&!o&&((c=n.value)==null||c.removeEventListener("scroll",Rn(r,i.delay)))}),{minHeight:a}},Gu=Dt({props:{language:{type:String,required:!0},code:{type:String,required:!0},scrollOptions:{type:[Boolean,Object],default:!1}},emits:["rendered"],setup(e,{emit:n}){const t=we("");return kr(()=>{Ue([()=>e.language,()=>e.code],()=>{$u({highlightCode:t,language:e.language,code:e.code}),gt(()=>n("rendered"))},{immediate:!0}),Ue([()=>e.scrollOptions],()=>{gt(()=>n("rendered"))},{deep:!0})}),{highlightCode:t}}}),Ku=["innerHTML"];function Ju(e,n,t,s,a,r){return le(),ue("pre",null,[G("code",{class:"hljs",innerHTML:e.highlightCode},null,8,Ku)])}var Zu=Mt(Gu,[["render",Ju]]);const Yu=Dt({components:{Code:Zu},props:{mode:{type:String,required:!0},folding:{type:Boolean,default:!1},language:{type:String,required:!0},meta:{type:Object,required:!0},render:{type:Object,required:!0},scrollOptions:{type:[Boolean,Object],default:!1}},setup(e,{emit:n}){const t=we(null),s=Tn(()=>{if(!!e.scrollOptions)return{position:"absolute",left:0,top:0,transform:`translate3d(0, ${e.meta.top}px, 0)`,minHeight:e.scrollOptions.lineMinHeight+"px"}}),a=Tn(()=>e.folding&&e.render[0].type==="equal"),r=(i,l,c)=>{if(!i.value)return`
20928
20928
`;if(typeof l=="undefined"||typeof c=="undefined"||!i.chkWords)return i.value;const u=l[c===0?1:0];return u.value?Wu(u.value,i.value):i.value},o=()=>{!t.value||e.meta.height===t.value.offsetHeight||n("setLineHeight",e.meta.index,t.value.offsetHeight)};return e.scrollOptions&&Ac(t,Rn(()=>{!t.value||e.meta.height===t.value.offsetHeight||n("setLineHeight",e.meta.index,t.value.offsetHeight)},e.scrollOptions.delay)),{line:t,isFoldLine:a,rendered:o,rowStyle:s,setCode:r}}}),ed=G("div",{class:"lineNum vue-diff-cell-fold"},null,-1),nd=G("div",{class:"code vue-diff-cell-fold"},null,-1),td=G("div",{class:"lineNum vue-diff-cell-fold"},null,-1),rd=G("div",{class:"code vue-diff-cell-fold"},null,-1);function od(e,n,t,s,a,r){const o=Sr("Code");return le(),ue("div",{ref:"line",class:ze(["vue-diff-row",`vue-diff-row-${e.mode}`]),style:En(e.rowStyle)},[e.mode==="split"?(le(!0),ue(ae,{key:0},zn(e.render,(i,l)=>(le(),ue(ae,{key:l},[e.isFoldLine?(le(),ue(ae,{key:0},[ed,nd],64)):(le(),ue(ae,{key:1},[G("div",{class:ze(["lineNum",`vue-diff-cell-${i.type}`])},Fn(i.lineNum),3),G("div",{class:ze(["code",`vue-diff-cell-${i.type}`])},[Ae(o,{language:e.language,code:e.setCode(i,e.render,l),scrollOptions:e.scrollOptions,onRendered:e.rendered},null,8,["language","code","scrollOptions","onRendered"])],2)],64))],64))),128)):so("",!0),e.mode==="unified"?(le(),ue(ae,{key:1},[e.isFoldLine?(le(),ue(ae,{key:0},[td,rd],64)):(le(),ue(ae,{key:1},[G("div",{class:ze(["lineNum",`vue-diff-cell-${e.render[0].type}`])},Fn(e.render[0].lineNum),3),G("div",{class:ze(["code",`vue-diff-cell-${e.render[0].type}`])},[Ae(o,{language:e.language,code:e.setCode(e.render[0]),scrollOptions:e.scrollOptions,onRendered:e.rendered},null,8,["language","code","scrollOptions","onRendered"])],2)],64))],64)):so("",!0)],6)}var sd=Mt(Yu,[["render",od]]);const id=Dt({components:{Line:sd},props:{mode:{type:String,default:"split"},theme:{type:String,default:"dark"},language:{type:String,default:"plaintext"},prev:{type:String,default:""},current:{type:String,default:""},folding:{type:Boolean,default:!1},inputDelay:{type:Number,default:0},virtualScroll:{type:[Boolean,Object],default:!1}},setup(e){const n=we(null),t=Tn(()=>e.virtualScroll?rt({height:500,lineMinHeight:24,delay:100},typeof e.virtualScroll=="object"?ne(e.virtualScroll):{}):!1),{meta:s,render:a,list:r}=Xu(e,n,t),{minHeight:o}=Vu(e,n,t,s);return{list:r,meta:s,minHeight:o,render:a,scrollOptions:t,setLineHeight:(l,c)=>{s.value[l]&&s.value[l].height!==c&&(s.value[l].height=c)},viewer:n}}});function ad(e,n,t,s,a,r){const o=Sr("Line");return le(),ue("div",{class:ze(["vue-diff-wrapper",`vue-diff-mode-${e.mode} vue-diff-theme-${e.theme}`])},[G("div",{ref:"viewer",class:"vue-diff-viewer",style:En({height:e.scrollOptions?e.scrollOptions.height+"px":void 0})},[G("div",{class:"vue-diff-viewer-inner",style:En({minHeight:e.minHeight})},[(le(!0),ue(ae,null,zn(e.list,(i,l)=>(le(),Ts(o,{key:l,mode:e.mode,folding:e.folding,language:e.language,meta:e.meta[i.index],render:e.render[i.index],scrollOptions:e.scrollOptions,onSetLineHeight:e.setLineHeight},null,8,["mode","folding","language","meta","render","scrollOptions","onSetLineHeight"]))),128))],4)],4)],2)}var ld=Mt(id,[["render",ad]]);var ri={install:(e,n={})=>{const{componentName:t="Diff"}=n;e.component(t,ld)},hljs:Le};function cd(e){const n="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",s={className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ ]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ ]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ ]|$)"}]},a={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},r={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,a]},o=e.inherit(r,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),i="[0-9]{4}(-[0-9][0-9]){0,2}",l="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",c="(\\.[0-9]*)?",u="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",d={className:"number",begin:"\\b"+i+l+c+u+"\\b"},f={end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},m={begin:/\{/,end:/\}/,contains:[f],illegal:"\\n",relevance:0},y={begin:"\\[",end:"\\]",contains:[f],illegal:"\\n",relevance:0},w=[s,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type",begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},d,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},m,y,r],j=[...w];return j.pop(),j.push(o),f.contains=j,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:w}}ri.hljs.registerLanguage("yaml",cd);const oi=_l(lc);oi.use(ri);oi.mount("#app");
0 commit comments