@github/copilot-language-server 1.467.0 → 1.469.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/diffWorker.js +0 -1
- package/dist/main.js +892 -901
- package/dist/tfidfWorker.js +0 -1
- package/package.json +8 -8
- package/dist/diffWorker.js.map +0 -6
- package/dist/main.js.map +0 -6
- package/dist/tfidfWorker.js.map +0 -6
package/dist/diffWorker.js
CHANGED
|
@@ -40,4 +40,3 @@ ${f.join(`
|
|
|
40
40
|
`).length>=15&&Mn(m,d=>d.length>=2)>=2}),u=qn(i,u),u}s(sn,"computeMovedLines");function Mn(i,e){let t=0;for(let n of i)e(n)&&t++;return t}s(Mn,"countWhere");function Un(i,e,t,n){let r=[],o=i.filter(l=>l.modified.isEmpty&&l.original.length>=3).map(l=>new we(l.original,e,l)),u=new Set(i.filter(l=>l.original.isEmpty&&l.modified.length>=3).map(l=>new we(l.modified,t,l))),a=new Set;for(let l of o){let c=-1,f;for(let m of u){let p=l.computeSimilarity(m);p>c&&(c=p,f=m)}if(c>.9&&f&&(u.delete(f),r.push(new H(l.range,f.range)),a.add(l.source),a.add(f.source)),!n.isValid())return{moves:r,excludedChanges:a}}return{moves:r,excludedChanges:a}}s(Un,"computeMovesFromSimpleDeletionsToSimpleInsertions");function kn(i,e,t,n,r,o){let u=[],a=new le;for(let p of i)for(let d=p.original.startLineNumber;d<p.original.endLineNumberExclusive-2;d++){let g=`${e[d-1]}:${e[d+1-1]}:${e[d+2-1]}`;a.add(g,{range:new O(d,d+3)})}let l=[];i.sort(Z(p=>p.modified.startLineNumber,C));for(let p of i){let d=[];for(let g=p.modified.startLineNumber;g<p.modified.endLineNumberExclusive-2;g++){let x=`${t[g-1]}:${t[g+1-1]}:${t[g+2-1]}`,w=new O(g,g+3),M=[];a.forEach(x,({range:S})=>{for(let b of d)if(b.originalLineRange.endLineNumberExclusive+1===S.endLineNumberExclusive&&b.modifiedLineRange.endLineNumberExclusive+1===w.endLineNumberExclusive){b.originalLineRange=new O(b.originalLineRange.startLineNumber,S.endLineNumberExclusive),b.modifiedLineRange=new O(b.modifiedLineRange.startLineNumber,w.endLineNumberExclusive),M.push(b);return}let P={modifiedLineRange:w,originalLineRange:S};l.push(P),M.push(P)}),d=M}if(!o.isValid())return[]}l.sort(St(Z(p=>p.modifiedLineRange.length,C)));let c=new re,f=new re;for(let p of l){let d=p.modifiedLineRange.startLineNumber-p.originalLineRange.startLineNumber,g=c.subtractFrom(p.modifiedLineRange),x=f.subtractFrom(p.originalLineRange).getWithDelta(d),w=g.getIntersection(x);for(let M of w.ranges){if(M.length<3)continue;let S=M,P=M.delta(-d);u.push(new H(P,S)),c.addRange(S),f.addRange(P)}}u.sort(Z(p=>p.original.startLineNumber,C));let m=new ve(i);for(let p=0;p<u.length;p++){let d=u[p],g=m.findLastMonotonous(_=>_.original.startLineNumber<=d.original.startLineNumber),x=J(i,_=>_.modified.startLineNumber<=d.modified.startLineNumber),w=Math.max(d.original.startLineNumber-g.original.startLineNumber,d.modified.startLineNumber-x.modified.startLineNumber),M=m.findLastMonotonous(_=>_.original.startLineNumber<d.original.endLineNumberExclusive),S=J(i,_=>_.modified.startLineNumber<d.modified.endLineNumberExclusive),P=Math.max(M.original.endLineNumberExclusive-d.original.endLineNumberExclusive,S.modified.endLineNumberExclusive-d.modified.endLineNumberExclusive),b;for(b=0;b<w;b++){let _=d.original.startLineNumber-b-1,L=d.modified.startLineNumber-b-1;if(_>n.length||L>r.length||c.contains(L)||f.contains(_)||!rn(n[_-1],r[L-1],o))break}b>0&&(f.addRange(new O(d.original.startLineNumber-b,d.original.startLineNumber)),c.addRange(new O(d.modified.startLineNumber-b,d.modified.startLineNumber)));let T;for(T=0;T<P;T++){let _=d.original.endLineNumberExclusive+T,L=d.modified.endLineNumberExclusive+T;if(_>n.length||L>r.length||c.contains(L)||f.contains(_)||!rn(n[_-1],r[L-1],o))break}T>0&&(f.addRange(new O(d.original.endLineNumberExclusive,d.original.endLineNumberExclusive+T)),c.addRange(new O(d.modified.endLineNumberExclusive,d.modified.endLineNumberExclusive+T))),(b>0||T>0)&&(u[p]=new H(new O(d.original.startLineNumber-b,d.original.endLineNumberExclusive+T),new O(d.modified.startLineNumber-b,d.modified.endLineNumberExclusive+T)))}return u}s(kn,"computeUnchangedMoves");function rn(i,e,t){if(i.trim()===e.trim())return!0;if(i.length>300&&e.length>300)return!1;let r=new he().compute(new ne([i],new y(1,1,1,i.length),!1),new ne([e],new y(1,1,1,e.length),!1),t),o=0,u=q.invert(r.diffs,i.length);for(let f of u)f.seq1Range.forEach(m=>{Ne(i.charCodeAt(m))||o++});function a(f){let m=0;for(let p=0;p<i.length;p++)Ne(f.charCodeAt(p))||m++;return m}s(a,"countNonWsChars");let l=a(i.length>e.length?i:e);return o/l>.6&&l>10}s(rn,"areLinesSimilar");function Pn(i){if(i.length===0)return i;i.sort(Z(t=>t.original.startLineNumber,C));let e=[i[0]];for(let t=1;t<i.length;t++){let n=e[e.length-1],r=i[t],o=r.original.startLineNumber-n.original.endLineNumberExclusive,u=r.modified.startLineNumber-n.modified.endLineNumberExclusive;if(o>=0&&u>=0&&o+u<=2){e[e.length-1]=n.join(r);continue}e.push(r)}return e}s(Pn,"joinCloseConsecutiveMoves");function qn(i,e){let t=new ve(i);return e=e.filter(n=>{let r=t.findLastMonotonous(a=>a.original.startLineNumber<n.original.endLineNumberExclusive)||new H(new O(1,1),new O(1,1)),o=J(i,a=>a.modified.startLineNumber<n.modified.endLineNumberExclusive);return r!==o}),e}s(qn,"removeMovesInSameDiff");function ht(i,e,t){let n=t;return n=on(i,e,n),n=on(i,e,n),n=Fn(i,e,n),n}s(ht,"optimizeSequenceDiffs");function on(i,e,t){if(t.length===0)return t;let n=[];n.push(t[0]);for(let o=1;o<t.length;o++){let u=n[n.length-1],a=t[o];if(a.seq1Range.isEmpty||a.seq2Range.isEmpty){let l=a.seq1Range.start-u.seq1Range.endExclusive,c;for(c=1;c<=l&&!(i.getElement(a.seq1Range.start-c)!==i.getElement(a.seq1Range.endExclusive-c)||e.getElement(a.seq2Range.start-c)!==e.getElement(a.seq2Range.endExclusive-c));c++);if(c--,c===l){n[n.length-1]=new q(new A(u.seq1Range.start,a.seq1Range.endExclusive-l),new A(u.seq2Range.start,a.seq2Range.endExclusive-l));continue}a=a.delta(-c)}n.push(a)}let r=[];for(let o=0;o<n.length-1;o++){let u=n[o+1],a=n[o];if(a.seq1Range.isEmpty||a.seq2Range.isEmpty){let l=u.seq1Range.start-a.seq1Range.endExclusive,c;for(c=0;c<l&&!(!i.isStronglyEqual(a.seq1Range.start+c,a.seq1Range.endExclusive+c)||!e.isStronglyEqual(a.seq2Range.start+c,a.seq2Range.endExclusive+c));c++);if(c===l){n[o+1]=new q(new A(a.seq1Range.start+l,u.seq1Range.endExclusive),new A(a.seq2Range.start+l,u.seq2Range.endExclusive));continue}c>0&&(a=a.delta(c))}r.push(a)}return n.length>0&&r.push(n[n.length-1]),r}s(on,"joinSequenceDiffsByShifting");function Fn(i,e,t){if(!i.getBoundaryScore||!e.getBoundaryScore)return t;for(let n=0;n<t.length;n++){let r=n>0?t[n-1]:void 0,o=t[n],u=n+1<t.length?t[n+1]:void 0,a=new A(r?r.seq1Range.endExclusive+1:0,u?u.seq1Range.start-1:i.length),l=new A(r?r.seq2Range.endExclusive+1:0,u?u.seq2Range.start-1:e.length);o.seq1Range.isEmpty?t[n]=un(o,i,e,a,l):o.seq2Range.isEmpty&&(t[n]=un(o.swap(),e,i,l,a).swap())}return t}s(Fn,"shiftSequenceDiffs");function un(i,e,t,n,r){let u=1;for(;i.seq1Range.start-u>=n.start&&i.seq2Range.start-u>=r.start&&t.isStronglyEqual(i.seq2Range.start-u,i.seq2Range.endExclusive-u)&&u<100;)u++;u--;let a=0;for(;i.seq1Range.start+a<n.endExclusive&&i.seq2Range.endExclusive+a<r.endExclusive&&t.isStronglyEqual(i.seq2Range.start+a,i.seq2Range.endExclusive+a)&&a<100;)a++;if(u===0&&a===0)return i;let l=0,c=-1;for(let f=-u;f<=a;f++){let m=i.seq2Range.start+f,p=i.seq2Range.endExclusive+f,d=i.seq1Range.start+f,g=e.getBoundaryScore(d)+t.getBoundaryScore(m)+t.getBoundaryScore(p);g>c&&(c=g,l=f)}return i.delta(l)}s(un,"shiftDiffToBetterPosition");function an(i,e,t){let n=[];for(let r of t){let o=n[n.length-1];if(!o){n.push(r);continue}r.seq1Range.start-o.seq1Range.endExclusive<=2||r.seq2Range.start-o.seq2Range.endExclusive<=2?n[n.length-1]=new q(o.seq1Range.join(r.seq1Range),o.seq2Range.join(r.seq2Range)):n.push(r)}return n}s(an,"removeShortMatches");function Tt(i,e,t,n,r=!1){let o=q.invert(t,i.length),u=[],a=new Q(0,0);function l(f,m){if(f.offset1<a.offset1||f.offset2<a.offset2)return;let p=n(i,f.offset1),d=n(e,f.offset2);if(!p||!d)return;let g=new q(p,d),x=g.intersect(m),w=x.seq1Range.length,M=x.seq2Range.length;for(;o.length>0;){let S=o[0];if(!(S.seq1Range.intersects(g.seq1Range)||S.seq2Range.intersects(g.seq2Range)))break;let b=n(i,S.seq1Range.start),T=n(e,S.seq2Range.start),_=new q(b,T),L=_.intersect(S);if(w+=L.seq1Range.length,M+=L.seq2Range.length,g=g.join(_),g.seq1Range.endExclusive>=S.seq1Range.endExclusive)o.shift();else break}(r&&w+M<g.seq1Range.length+g.seq2Range.length||w+M<(g.seq1Range.length+g.seq2Range.length)*2/3)&&u.push(g),a=g.getEndExclusives()}for(s(l,"scanWord");o.length>0;){let f=o.shift();f.seq1Range.isEmpty||(l(f.getStarts(),f),l(f.getEndExclusives().delta(-1),f))}return Bn(t,u)}s(Tt,"extendDiffsToEntireWordIfAppropriate");function Bn(i,e){let t=[];for(;i.length>0||e.length>0;){let n=i[0],r=e[0],o;n&&(!r||n.seq1Range.start<r.seq1Range.start)?o=i.shift():o=e.shift(),t.length>0&&t[t.length-1].seq1Range.endExclusive>=o.seq1Range.start?t[t.length-1]=t[t.length-1].join(o):t.push(o)}return t}s(Bn,"mergeSequenceDiffs");function ln(i,e,t){let n=t;if(n.length===0)return n;let r=0,o;do{o=!1;let a=[n[0]];for(let l=1;l<n.length;l++){let m=function(d,g){let x=new A(f.seq1Range.endExclusive,c.seq1Range.start);return i.getText(x).replace(/\s/g,"").length<=4&&(d.seq1Range.length+d.seq2Range.length>5||g.seq1Range.length+g.seq2Range.length>5)};var u=m;s(m,"shouldJoinDiffs");let c=n[l],f=a[a.length-1];m(f,c)?(o=!0,a[a.length-1]=a[a.length-1].join(c)):a.push(c)}n=a}while(r++<10&&o);return n}s(ln,"removeVeryShortMatchingLinesBetweenDiffs");function cn(i,e,t){let n=t;if(n.length===0)return n;let r=0,o;do{o=!1;let l=[n[0]];for(let c=1;c<n.length;c++){let p=function(g,x){let w=new A(m.seq1Range.endExclusive,f.seq1Range.start);if(i.countLinesIn(w)>5||w.length>500)return!1;let S=i.getText(w).trim();if(S.length>20||S.split(/\r\n|\r|\n/).length>1)return!1;let P=i.countLinesIn(g.seq1Range),b=g.seq1Range.length,T=e.countLinesIn(g.seq2Range),_=g.seq2Range.length,L=i.countLinesIn(x.seq1Range),B=x.seq1Range.length,W=e.countLinesIn(x.seq2Range),Se=x.seq2Range.length,Ae=130;function _e(xt){return Math.min(xt,Ae)}return s(_e,"cap"),Math.pow(Math.pow(_e(P*40+b),1.5)+Math.pow(_e(T*40+_),1.5),1.5)+Math.pow(Math.pow(_e(L*40+B),1.5)+Math.pow(_e(W*40+Se),1.5),1.5)>(Ae**1.5)**1.5*1.3};var a=p;s(p,"shouldJoinDiffs");let f=n[c],m=l[l.length-1];p(m,f)?(o=!0,l[l.length-1]=l[l.length-1].join(f)):l.push(f)}n=l}while(r++<10&&o);let u=[];return wt(n,(l,c,f)=>{let m=c;function p(S){return S.length>0&&S.trim().length<=3&&c.seq1Range.length+c.seq2Range.length>100}s(p,"shouldMarkAsChanged");let d=i.extendToFullLines(c.seq1Range),g=i.getText(new A(d.start,c.seq1Range.start));p(g)&&(m=m.deltaStart(-g.length));let x=i.getText(new A(c.seq1Range.endExclusive,d.endExclusive));p(x)&&(m=m.deltaEnd(x.length));let w=q.fromOffsetPairs(l?l.getEndExclusives():Q.zero,f?f.getStarts():Q.max),M=m.intersect(w);u.length>0&&M.getStarts().equals(u[u.length-1].getEndExclusives())?u[u.length-1]=u[u.length-1].join(M):u.push(M)}),u}s(cn,"removeVeryShortMatchingTextBetweenLongDiffs");var De=class{constructor(e,t){this.trimmedHash=e;this.lines=t}static{s(this,"LineSequence")}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){let t=e===0?0:fn(this.lines[e-1]),n=e===this.lines.length?0:fn(this.lines[e]);return 1e3-(t+n)}getText(e){return this.lines.slice(e.start,e.endExclusive).join(`
|
|
41
41
|
`)}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}};function fn(i){let e=0;for(;e<i.length&&(i.charCodeAt(e)===32||i.charCodeAt(e)===9);)e++;return e}s(fn,"getIndentation");var He=class{constructor(){this.dynamicProgrammingDiffing=new Ge;this.myersDiffingAlgorithm=new he}static{s(this,"DefaultLinesDiffComputer")}computeDiff(e,t,n){if(e.length<=1&&Pe(e,t,(T,_)=>T===_))return new de([],[],!1);if(e.length===1&&e[0].length===0||t.length===1&&t[0].length===0)return new de([new ge(new O(1,e.length+1),new O(1,t.length+1),[new z(new y(1,1,e.length,e[e.length-1].length+1),new y(1,1,t.length,t[t.length-1].length+1))])],[],!1);let r=n.maxComputationTimeMs===0?te.instance:new je(n.maxComputationTimeMs),o=!n.ignoreTrimWhitespace,u=new Map;function a(T){let _=u.get(T);return _===void 0&&(_=u.size,u.set(T,_)),_}s(a,"getOrCreateHash");let l=e.map(T=>a(T.trim())),c=t.map(T=>a(T.trim())),f=new De(l,e),m=new De(c,t),p=f.length+m.length<1700?this.dynamicProgrammingDiffing.compute(f,m,r,(T,_)=>e[T]===t[_]?t[_].length===0?.1:1+Math.log(1+t[_].length):.99):this.myersDiffingAlgorithm.compute(f,m,r),d=p.diffs,g=p.hitTimeout;d=ht(f,m,d),d=ln(f,m,d);let x=[],w=s(T=>{if(o)for(let _=0;_<T;_++){let L=M+_,B=S+_;if(e[L]!==t[B]){let W=this.refineDiff(e,t,new q(new A(L,L+1),new A(B,B+1)),r,o,n);for(let Se of W.mappings)x.push(Se);W.hitTimeout&&(g=!0)}}},"scanForWhitespaceChanges"),M=0,S=0;for(let T of d){ie(()=>T.seq1Range.start-M===T.seq2Range.start-S);let _=T.seq1Range.start-M;w(_),M=T.seq1Range.endExclusive,S=T.seq2Range.endExclusive;let L=this.refineDiff(e,t,T,r,o,n);L.hitTimeout&&(g=!0);for(let B of L.mappings)x.push(B)}w(e.length-M);let P=pt(x,new se(e),new se(t)),b=[];return n.computeMoves&&(b=this.computeMoves(P,e,t,l,c,r,o,n)),ie(()=>{function T(L,B){if(L.lineNumber<1||L.lineNumber>B.length)return!1;let W=B[L.lineNumber-1];return!(L.column<1||L.column>W.length+1)}s(T,"validatePosition");function _(L,B){return!(L.startLineNumber<1||L.startLineNumber>B.length+1||L.endLineNumberExclusive<1||L.endLineNumberExclusive>B.length+1)}s(_,"validateRange");for(let L of P){if(!L.innerChanges)return!1;for(let B of L.innerChanges)if(!(T(B.modifiedRange.getStartPosition(),t)&&T(B.modifiedRange.getEndPosition(),t)&&T(B.originalRange.getStartPosition(),e)&&T(B.originalRange.getEndPosition(),e)))return!1;if(!_(L.modified,t)||!_(L.original,e))return!1}return!0}),new de(P,b,g)}computeMoves(e,t,n,r,o,u,a,l){return sn(e,t,n,r,o,u).map(m=>{let p=this.refineDiff(t,n,new q(m.original.toOffsetRange(),m.modified.toOffsetRange()),u,a,l),d=pt(p.mappings,new se(t),new se(n),!0);return new ze(m,d)})}refineDiff(e,t,n,r,o,u){let l=Vn(n).toRangeMapping2(e,t),c=new ne(e,l.originalRange,o),f=new ne(t,l.modifiedRange,o),m=c.length+f.length<500?this.dynamicProgrammingDiffing.compute(c,f,r):this.myersDiffingAlgorithm.compute(c,f,r),p=!1,d=m.diffs;p&&q.assertSorted(d),d=ht(c,f,d),p&&q.assertSorted(d),d=Tt(c,f,d,(x,w)=>x.findWordContaining(w)),p&&q.assertSorted(d),u.extendToSubwords&&(d=Tt(c,f,d,(x,w)=>x.findSubWordContaining(w),!0),p&&q.assertSorted(d)),d=an(c,f,d),p&&q.assertSorted(d),d=cn(c,f,d),p&&q.assertSorted(d);let g=d.map(x=>new z(c.translateRange(x.seq1Range),f.translateRange(x.seq2Range)));return p&&z.assertSorted(g),{mappings:g,hitTimeout:m.hitTimeout}}};function Vn(i){return new H(new O(i.seq1Range.start+1,i.seq1Range.endExclusive+1),new O(i.seq2Range.start+1,i.seq2Range.endExclusive+1))}s(Vn,"toLineRangeMapping");async function Kn(i,e,t){return mn(i,e,t)}s(Kn,"computeDiff");function mn(i,e,t){let n=i.split(/\r\n|\r|\n/),r=e.split(/\r\n|\r|\n/),u=new He().computeDiff(n,r,t),a=u.changes.length>0?!1:i===e;function l(c){return c.map(f=>[f.original.startLineNumber,f.original.endLineNumberExclusive,f.modified.startLineNumber,f.modified.endLineNumberExclusive,f.innerChanges?.map(m=>[m.originalRange.startLineNumber,m.originalRange.startColumn,m.originalRange.endLineNumber,m.originalRange.endColumn,m.modifiedRange.startLineNumber,m.modifiedRange.startColumn,m.modifiedRange.endLineNumber,m.modifiedRange.endColumn])])}return s(l,"getLineChanges"),{identical:a,quitEarly:u.hitTimeout,changes:l(u.changes),moves:u.moves.map(c=>[c.lineRangeMapping.original.startLineNumber,c.lineRangeMapping.original.endLineNumberExclusive,c.lineRangeMapping.modified.startLineNumber,c.lineRangeMapping.modified.endLineNumberExclusive,l(c.changes)])}}s(mn,"computeDiffSync");function zn(){let i=dn.parentPort;if(!i)throw new Error("This module should only be used in a worker thread.");i.on("message",async({id:e,fn:t,args:n})=>{try{let r=await _t[t](...n);i.postMessage({id:e,res:r})}catch(r){i.postMessage({id:e,err:r})}})}s(zn,"main");zn();
|
|
42
42
|
//!!! DO NOT modify, this file was COPIED from 'microsoft/vscode'
|
|
43
|
-
//# sourceMappingURL=diffWorker.js.map
|