about summary refs log tree commit diff
path: root/editors/code
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2020-03-26 09:49:12 +0000
committerGitHub <noreply@github.com>2020-03-26 09:49:12 +0000
commitece8fa81bbff7cad8da2e28fb810699ae4045a16 (patch)
tree88df49316a774d45ceeef7fad2cd41244cd866a2 /editors/code
parent1923f7571ef75867a5333aa9d4c637b6ea26e363 (diff)
parentd1721021ef6c5c2c361319c6ae06de7c330ea71e (diff)
downloadrust-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')
-rw-r--r--editors/code/src/commands/analyzer_status.ts31
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> {