MCPcopy
hub / github.com/kekingcn/kkFileView / shiftDoc

Function shiftDoc

server/src/main/resources/static/js/codemirror.js:1194–1196  ·  view source on GitHub ↗
(doc,distance)

Source from the content-addressed store, hash-verified

1192var rebased=[];linkedDocs(doc,function(doc,sharedHist){if(!sharedHist&&indexOf(rebased,doc.history)==-1){rebaseHist(doc.history,change);rebased.push(doc.history);}
1193makeChangeSingleDoc(doc,change,null,mergeOldSpans(doc,change));});};for(var i$1=event.changes.length-1;i$1>=0;--i$1){var returned=loop(i$1);if(returned)return returned.v;}}
1194function shiftDoc(doc,distance){if(distance==0){return}
1195doc.first+=distance;doc.sel=new Selection(map(doc.sel.ranges,function(range){return new Range(Pos(range.anchor.line+distance,range.anchor.ch),Pos(range.head.line+distance,range.head.ch));}),doc.sel.primIndex);if(doc.cm){regChange(doc.cm,doc.first,doc.first-distance,distance);for(var d=doc.cm.display,l=d.viewFrom;l<d.viewTo;l++)
1196{regLineChange(doc.cm,l,"gutter");}}}
1197function makeChangeSingleDoc(doc,change,selAfter,spans){if(doc.cm&&!doc.cm.curOp)
1198{return operation(doc.cm,makeChangeSingleDoc)(doc,change,selAfter,spans)}
1199if(change.to.line<doc.first){shiftDoc(doc,change.text.length-1-(change.to.line-change.from.line));return}

Callers 1

makeChangeSingleDocFunction · 0.85

Calls 4

PosFunction · 0.85
regChangeFunction · 0.85
regLineChangeFunction · 0.85
mapFunction · 0.70

Tested by

no test coverage detected