aboutsummaryrefslogtreecommitdiff
path: root/editors/code
diff options
context:
space:
mode:
Diffstat (limited to 'editors/code')
-rw-r--r--editors/code/src/inlay_hints.ts26
1 files changed, 10 insertions, 16 deletions
diff --git a/editors/code/src/inlay_hints.ts b/editors/code/src/inlay_hints.ts
index fd7c49c89..e1a82e03e 100644
--- a/editors/code/src/inlay_hints.ts
+++ b/editors/code/src/inlay_hints.ts
@@ -13,7 +13,7 @@ export function activateInlayHints(ctx: Ctx) {
13 if (!ctx.config.displayInlayHints) { 13 if (!ctx.config.displayInlayHints) {
14 return this.dispose(); 14 return this.dispose();
15 } 15 }
16 if (!this.updater) this.updater = HintsUpdater.create(ctx); 16 if (!this.updater) this.updater = new HintsUpdater(ctx);
17 }, 17 },
18 dispose() { 18 dispose() {
19 this.updater?.dispose(); 19 this.updater?.dispose();
@@ -67,25 +67,21 @@ class HintsUpdater implements Disposable {
67 private sourceFiles = new Map<string, RustSourceFile>(); // map Uri -> RustSourceFile 67 private sourceFiles = new Map<string, RustSourceFile>(); // map Uri -> RustSourceFile
68 private readonly disposables: Disposable[] = []; 68 private readonly disposables: Disposable[] = [];
69 69
70 private constructor(private readonly ctx: Ctx) { } 70 constructor(private readonly ctx: Ctx) {
71
72 static create(ctx: Ctx) {
73 const self = new HintsUpdater(ctx);
74
75 vscode.window.onDidChangeVisibleTextEditors( 71 vscode.window.onDidChangeVisibleTextEditors(
76 self.onDidChangeVisibleTextEditors, 72 this.onDidChangeVisibleTextEditors,
77 self, 73 this,
78 self.disposables 74 this.disposables
79 ); 75 );
80 76
81 vscode.workspace.onDidChangeTextDocument( 77 vscode.workspace.onDidChangeTextDocument(
82 self.onDidChangeTextDocument, 78 this.onDidChangeTextDocument,
83 self, 79 this,
84 self.disposables 80 this.disposables
85 ); 81 );
86 82
87 // Set up initial cache shape 83 // Set up initial cache shape
88 ctx.visibleRustEditors.forEach(editor => self.sourceFiles.set( 84 ctx.visibleRustEditors.forEach(editor => this.sourceFiles.set(
89 editor.document.uri.toString(), 85 editor.document.uri.toString(),
90 { 86 {
91 document: editor.document, 87 document: editor.document,
@@ -94,9 +90,7 @@ class HintsUpdater implements Disposable {
94 } 90 }
95 )); 91 ));
96 92
97 self.syncCacheAndRenderHints(); 93 this.syncCacheAndRenderHints();
98
99 return self;
100 } 94 }
101 95
102 dispose() { 96 dispose() {