diff --git a/src/text-editor-component.js b/src/text-editor-component.js index 7002a746f..21bda2c93 100644 --- a/src/text-editor-component.js +++ b/src/text-editor-component.js @@ -819,8 +819,9 @@ class TextEditorComponent { const endRow = this.getRenderedEndRow() const renderedRowCount = this.getRenderedRowCount() - const {bufferRows, keys, softWrappedFlags, foldableFlags} = this.lineNumbersToRender - bufferRows.length = renderedRowCount + const {keys, softWrappedFlags, foldableFlags} = this.lineNumbersToRender + const bufferRows = model.bufferRowsForScreenRows(startRow, endRow) + this.lineNumbersToRender.bufferRows = bufferRows keys.length = renderedRowCount foldableFlags.length = renderedRowCount @@ -828,8 +829,7 @@ class TextEditorComponent { let softWrapCount = 0 for (let row = startRow; row < endRow; row++) { const i = row - startRow - const bufferRow = model.bufferRowForScreenRow(row) - bufferRows[i] = bufferRow + const bufferRow = bufferRows[i] if (bufferRow === previousBufferRow) { softWrapCount++ softWrappedFlags[i] = true diff --git a/src/text-editor.coffee b/src/text-editor.coffee index 4ec091954..7063068b7 100644 --- a/src/text-editor.coffee +++ b/src/text-editor.coffee @@ -1039,8 +1039,7 @@ class TextEditor extends Model @displayLayer.translateScreenPosition(Point(screenRow, 0)).row bufferRowsForScreenRows: (startScreenRow, endScreenRow) -> - for screenRow in [startScreenRow..endScreenRow] - @bufferRowForScreenRow(screenRow) + @displayLayer.bufferRowsForScreenRows(startScreenRow, endScreenRow) screenRowForBufferRow: (row) -> @displayLayer.translateBufferPosition(Point(row, 0)).row