Merge pull request #2042 from overleaf/bg-fix-applyCMToShareJS-offsets

fix startPos calculation for applyCMtoShareJs

GitOrigin-RevId: 642dc1fd2d7b2a1b34031900c137ffc10f94ddeb
This commit is contained in:
Brian Gough 2019-08-06 08:42:05 +01:00 committed by sharelatex
parent 8237319683
commit 2e20975f53

View file

@ -1634,9 +1634,11 @@ define(['ace/ace','libs/sha1'], function () {
// I tuned this operation a little bit, for speed.
var startPos = 0; // Get character position from # of chars in each line.
var i = 0; // i goes through all lines.
// Compute the position from the shareJS snapshot because we are in the CodeMirror
// change event, where the change has already been applied to the editorDoc
var docLines = doc.snapshot.split('\n', delta.from.line) // only split the document as far as we need to
while (i < delta.from.line) {
startPos += editorDoc.lineInfo(i).text.length + 1; // Add 1 for '\n'
startPos += docLines[i].length + 1; // Add 1 for '\n'
i++;
}
startPos += delta.from.ch;