Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'editors/code/src/inlay_hints.ts')
-rw-r--r--editors/code/src/inlay_hints.ts55
1 files changed, 0 insertions, 55 deletions
diff --git a/editors/code/src/inlay_hints.ts b/editors/code/src/inlay_hints.ts
deleted file mode 100644
index 3f7ddedddf..0000000000
--- a/editors/code/src/inlay_hints.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import * as vscode from 'vscode';
-import * as ra from './lsp_ext';
-
-import { Ctx, Disposable } from './ctx';
-import { sendRequestWithRetry, isRustDocument } from './util';
-
-export function activateInlayHints(ctx: Ctx) {
- const maybeUpdater = {
- hintsProvider: null as Disposable | null,
- updateHintsEventEmitter: new vscode.EventEmitter<void>(),
-
- async onConfigChange() {
- this.dispose();
-
- const anyEnabled = ctx.config.inlayHints.typeHints
- || ctx.config.inlayHints.parameterHints
- || ctx.config.inlayHints.chainingHints
- || ctx.config.inlayHints.closureReturnTypeHints;
- const enabled = ctx.config.inlayHints.enable && anyEnabled;
- if (!enabled) return;
-
- const event = this.updateHintsEventEmitter.event;
- this.hintsProvider = vscode.languages.registerInlayHintsProvider({ scheme: 'file', language: 'rust' }, new class implements vscode.InlayHintsProvider {
- onDidChangeInlayHints = event;
- async provideInlayHints(document: vscode.TextDocument, range: vscode.Range, token: vscode.CancellationToken): Promise<vscode.InlayHint[]> {
- const request = { textDocument: { uri: document.uri.toString() }, range: { start: range.start, end: range.end } };
- const hints = await sendRequestWithRetry(ctx.client, ra.inlayHints, request, token).catch(_ => null);
- if (hints == null) {
- return [];
- } else {
- return hints;
- }
- }
- });
- },
-
- onDidChangeTextDocument({ contentChanges, document }: vscode.TextDocumentChangeEvent) {
- if (contentChanges.length === 0 || !isRustDocument(document)) return;
- this.updateHintsEventEmitter.fire();
- },
-
- dispose() {
- this.hintsProvider?.dispose();
- this.hintsProvider = null;
- this.updateHintsEventEmitter.dispose();
- },
- };
-
- ctx.pushCleanup(maybeUpdater);
-
- vscode.workspace.onDidChangeConfiguration(maybeUpdater.onConfigChange, maybeUpdater, ctx.subscriptions);
- vscode.workspace.onDidChangeTextDocument(maybeUpdater.onDidChangeTextDocument, maybeUpdater, ctx.subscriptions);
-
- maybeUpdater.onConfigChange().catch(console.error);
-}