From 059934482ce48a054e0877d6b5e0e3ea9e854fc0 Mon Sep 17 00:00:00 2001 From: Henning Dieterichs Date: Fri, 24 Jun 2022 16:16:26 +0200 Subject: [PATCH] Fixes #153116 --- .../contrib/mergeEditor/browser/model/mergeEditorModel.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.ts b/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.ts index f46e30b0b77..3165fafc2f0 100644 --- a/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.ts +++ b/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.ts @@ -411,7 +411,13 @@ function editsToLineRangeEdit(range: LineRange, sortedEdits: RangeEdit[], textMo if (!currentPosition.isBeforeOrEqual(diffStart)) { return undefined; } - const originalText = textModel.getValueInRange(Range.fromPositions(currentPosition, diffStart)); + let originalText = textModel.getValueInRange(Range.fromPositions(currentPosition, diffStart)); + if (diffStart.lineNumber > textModel.getLineCount()) { + // assert diffStart.lineNumber === textModel.getLineCount() + 1 + // getValueInRange doesn't include this virtual line break, as the document ends the line before. + // endsLineAfter will be false. + originalText += '\n'; + } text += originalText; text += edit.newText; currentPosition = edit.range.getEndPosition();