about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--editors/code/src/inlay_hints.ts6
1 files changed, 4 insertions, 2 deletions
diff --git a/editors/code/src/inlay_hints.ts b/editors/code/src/inlay_hints.ts
index 30ade9b986c..ed0db292450 100644
--- a/editors/code/src/inlay_hints.ts
+++ b/editors/code/src/inlay_hints.ts
@@ -44,10 +44,12 @@ const paramHints = createHintStyle("parameter");
 const chainingHints = createHintStyle("chaining");
 
 function createHintStyle(hintKind: "type" | "parameter" | "chaining") {
+    // U+200C is a zero-width non-joiner to prevent the editor from forming a ligature
+    // between code and type hints
     const [pos, render] = ({
-        type: ["after", (label: string) => `: ${label}`],
+        type: ["after", (label: string) => `\u{200c}: ${label}`],
         parameter: ["before", (label: string) => `${label}: `],
-        chaining: ["after", (label: string) => `: ${label}`],
+        chaining: ["after", (label: string) => `\u{200c}: ${label}`],
     } as const)[hintKind];
 
     const fg = new vscode.ThemeColor(`rust_analyzer.inlayHints.foreground.${hintKind}Hints`);