From a72a41d2075fe8aba95f9c5e6b8d417696d66dc8 Mon Sep 17 00:00:00 2001 From: Henning Dieterichs Date: Fri, 23 Jul 2021 13:40:48 +0200 Subject: [PATCH] Fixes #128964 by replacing whitespaces/tab with no-break whitespace. --- src/vs/editor/contrib/inlayHints/inlayHintsController.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/vs/editor/contrib/inlayHints/inlayHintsController.ts b/src/vs/editor/contrib/inlayHints/inlayHintsController.ts index 6e6350d6ffc..e6b191ccfbd 100644 --- a/src/vs/editor/contrib/inlayHints/inlayHintsController.ts +++ b/src/vs/editor/contrib/inlayHints/inlayHintsController.ts @@ -157,8 +157,10 @@ export class InlayHintsController implements IEditorContribution { const marginBefore = whitespaceBefore ? (fontSize / 3) | 0 : 0; const marginAfter = whitespaceAfter ? (fontSize / 3) | 0 : 0; + const massagedText = fixSpace(text); + const before: IContentDecorationRenderOptions = { - contentText: text, + contentText: massagedText, backgroundColor: `${backgroundColor}`, color: `${fontColor}`, margin: `0px ${marginAfter}px 0px ${marginBefore}px`, @@ -207,6 +209,11 @@ export class InlayHintsController implements IEditorContribution { } } +function fixSpace(str: string): string { + const noBreakWhitespace = '\xa0'; + return str.replace(/[ \t]/g, noBreakWhitespace); +} + registerEditorContribution(InlayHintsController.ID, InlayHintsController); CommandsRegistry.registerCommand('_executeInlayHintProvider', async (accessor, ...args: [URI, IRange]): Promise => {