From 0e4b1fec5d0d581c4fa34e537b86cfd8985a50df Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Tue, 10 Nov 2020 11:56:42 +0100 Subject: [PATCH] Render char diffs in the wrapped deleted or change lines in the inline diff --- .../editor/browser/widget/diffEditorWidget.ts | 8 ++++++-- .../common/viewLayout/lineDecorations.ts | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/vs/editor/browser/widget/diffEditorWidget.ts b/src/vs/editor/browser/widget/diffEditorWidget.ts index e76cd6802d9..a70fa5ff8b6 100644 --- a/src/vs/editor/browser/widget/diffEditorWidget.ts +++ b/src/vs/editor/browser/widget/diffEditorWidget.ts @@ -2302,6 +2302,7 @@ class InlineViewZonesComputer extends ViewZonesComputer { } } } + const hasCharChanges = (decorations.length > 0); const sb = createStringBuilder(10000); let maxCharsPerLine = 0; @@ -2321,7 +2322,8 @@ class InlineViewZonesComputer extends ViewZonesComputer { renderedLineCount++, viewLineContent, viewLineTokens, - actualDecorations, + LineDecoration.extractWrapped(actualDecorations, lastBreakOffset, breakOffset), + hasCharChanges, mightContainNonBasicASCII, mightContainRTL, fontInfo, @@ -2354,6 +2356,7 @@ class InlineViewZonesComputer extends ViewZonesComputer { lineContent, lineTokens, actualDecorations, + hasCharChanges, mightContainNonBasicASCII, mightContainRTL, fontInfo, @@ -2386,6 +2389,7 @@ class InlineViewZonesComputer extends ViewZonesComputer { lineContent: string, lineTokens: IViewLineTokens, decorations: LineDecoration[], + hasCharChanges: boolean, mightContainNonBasicASCII: boolean, mightContainRTL: boolean, fontInfo: FontInfo, @@ -2402,7 +2406,7 @@ class InlineViewZonesComputer extends ViewZonesComputer { ): number { sb.appendASCIIString('