diff options
| author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-03-26 09:49:12 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-26 09:49:12 +0000 |
| commit | ece8fa81bbff7cad8da2e28fb810699ae4045a16 (patch) | |
| tree | 88df49316a774d45ceeef7fad2cd41244cd866a2 /editors/code/src | |
| parent | 1923f7571ef75867a5333aa9d4c637b6ea26e363 (diff) | |
| parent | d1721021ef6c5c2c361319c6ae06de7c330ea71e (diff) | |
| download | rust-ece8fa81bbff7cad8da2e28fb810699ae4045a16.tar.gz rust-ece8fa81bbff7cad8da2e28fb810699ae4045a16.zip | |
Merge #3726
3726: vscode: refactor analyzer status r=matklad a=Veetaha Co-authored-by: veetaha <veetaha2@gmail.com>
Diffstat (limited to 'editors/code/src')
| -rw-r--r-- | editors/code/src/commands/analyzer_status.ts | 31 |
1 files changed, 11 insertions, 20 deletions
diff --git a/editors/code/src/commands/analyzer_status.ts b/editors/code/src/commands/analyzer_status.ts index 1c6ea399b1c..09daa3402cf 100644 --- a/editors/code/src/commands/analyzer_status.ts +++ b/editors/code/src/commands/analyzer_status.ts @@ -5,7 +5,7 @@ import { Ctx, Cmd } from '../ctx'; // Shows status of rust-analyzer (for debugging) export function analyzerStatus(ctx: Ctx): Cmd { - let poller: NodeJS.Timer | null = null; + let poller: NodeJS.Timer | undefined = undefined; const tdcp = new TextDocumentContentProvider(ctx); ctx.pushCleanup( @@ -17,41 +17,32 @@ export function analyzerStatus(ctx: Ctx): Cmd { ctx.pushCleanup({ dispose() { - if (poller != null) { + if (poller !== undefined) { clearInterval(poller); } }, }); - return async function handle() { - if (poller == null) { + return async () => { + if (poller === undefined) { poller = setInterval(() => tdcp.eventEmitter.fire(tdcp.uri), 1000); } const document = await vscode.workspace.openTextDocument(tdcp.uri); - return vscode.window.showTextDocument( - document, - vscode.ViewColumn.Two, - true, - ); + return vscode.window.showTextDocument(document, vscode.ViewColumn.Two, true); }; } -class TextDocumentContentProvider - implements vscode.TextDocumentContentProvider { - uri = vscode.Uri.parse('rust-analyzer-status://status'); - eventEmitter = new vscode.EventEmitter<vscode.Uri>(); +class TextDocumentContentProvider implements vscode.TextDocumentContentProvider { + readonly uri = vscode.Uri.parse('rust-analyzer-status://status'); + readonly eventEmitter = new vscode.EventEmitter<vscode.Uri>(); constructor(private readonly ctx: Ctx) { } - provideTextDocumentContent( - _uri: vscode.Uri, - ): vscode.ProviderResult<string> { - const editor = vscode.window.activeTextEditor; - const client = this.ctx.client; - if (!editor || !client) return ''; + provideTextDocumentContent(_uri: vscode.Uri): vscode.ProviderResult<string> { + if (!vscode.window.activeTextEditor) return ''; - return client.sendRequest(ra.analyzerStatus, null); + return this.ctx.client.sendRequest(ra.analyzerStatus, null); } get onDidChange(): vscode.Event<vscode.Uri> { |
