aboutsummaryrefslogtreecommitdiff
path: root/editors/code
diff options
context:
space:
mode:
Diffstat (limited to 'editors/code')
-rw-r--r--editors/code/src/main.ts12
-rw-r--r--editors/code/src/status_display.ts (renamed from editors/code/src/commands/watch_status.ts)14
2 files changed, 13 insertions, 13 deletions
diff --git a/editors/code/src/main.ts b/editors/code/src/main.ts
index cf0ddfa16..d6c210579 100644
--- a/editors/code/src/main.ts
+++ b/editors/code/src/main.ts
@@ -3,7 +3,7 @@ import * as lc from 'vscode-languageclient';
3 3
4import * as commands from './commands'; 4import * as commands from './commands';
5import { HintsUpdater } from './inlay_hints'; 5import { HintsUpdater } from './inlay_hints';
6import { StatusDisplay } from './commands/watch_status'; 6import { StatusDisplay } from './status_display';
7import * as events from './events'; 7import * as events from './events';
8import * as notifications from './notifications'; 8import * as notifications from './notifications';
9import { Server } from './server'; 9import { Server } from './server';
@@ -28,10 +28,6 @@ export async function activate(context: vscode.ExtensionContext) {
28 ctx.registerCommand('runSingle', commands.runSingle); 28 ctx.registerCommand('runSingle', commands.runSingle);
29 ctx.registerCommand('showReferences', commands.showReferences); 29 ctx.registerCommand('showReferences', commands.showReferences);
30 30
31 function disposeOnDeactivation(disposable: vscode.Disposable) {
32 context.subscriptions.push(disposable);
33 }
34
35 if (Server.config.enableEnhancedTyping) { 31 if (Server.config.enableEnhancedTyping) {
36 ctx.overrideCommand('type', commands.onEnter); 32 ctx.overrideCommand('type', commands.onEnter);
37 } 33 }
@@ -39,7 +35,11 @@ export async function activate(context: vscode.ExtensionContext) {
39 const watchStatus = new StatusDisplay( 35 const watchStatus = new StatusDisplay(
40 Server.config.cargoWatchOptions.command, 36 Server.config.cargoWatchOptions.command,
41 ); 37 );
42 disposeOnDeactivation(watchStatus); 38 ctx.pushCleanup(watchStatus);
39
40 function disposeOnDeactivation(disposable: vscode.Disposable) {
41 context.subscriptions.push(disposable);
42 }
43 43
44 // Notifications are events triggered by the language server 44 // Notifications are events triggered by the language server
45 const allNotifications: [string, lc.GenericNotificationHandler][] = [ 45 const allNotifications: [string, lc.GenericNotificationHandler][] = [
diff --git a/editors/code/src/commands/watch_status.ts b/editors/code/src/status_display.ts
index 10787b510..48cf0655b 100644
--- a/editors/code/src/commands/watch_status.ts
+++ b/editors/code/src/status_display.ts
@@ -3,7 +3,7 @@ import * as vscode from 'vscode';
3const spinnerFrames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏']; 3const spinnerFrames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
4 4
5export class StatusDisplay implements vscode.Disposable { 5export class StatusDisplay implements vscode.Disposable {
6 public packageName?: string; 6 packageName?: string;
7 7
8 private i = 0; 8 private i = 0;
9 private statusBarItem: vscode.StatusBarItem; 9 private statusBarItem: vscode.StatusBarItem;
@@ -19,7 +19,7 @@ export class StatusDisplay implements vscode.Disposable {
19 this.statusBarItem.hide(); 19 this.statusBarItem.hide();
20 } 20 }
21 21
22 public show() { 22 show() {
23 this.packageName = undefined; 23 this.packageName = undefined;
24 24
25 this.timer = 25 this.timer =
@@ -28,18 +28,18 @@ export class StatusDisplay implements vscode.Disposable {
28 if (this.packageName) { 28 if (this.packageName) {
29 this.statusBarItem!.text = `cargo ${this.command} [${ 29 this.statusBarItem!.text = `cargo ${this.command} [${
30 this.packageName 30 this.packageName
31 }] ${this.frame()}`; 31 }] ${this.frame()}`;
32 } else { 32 } else {
33 this.statusBarItem!.text = `cargo ${ 33 this.statusBarItem!.text = `cargo ${
34 this.command 34 this.command
35 } ${this.frame()}`; 35 } ${this.frame()}`;
36 } 36 }
37 }, 300); 37 }, 300);
38 38
39 this.statusBarItem.show(); 39 this.statusBarItem.show();
40 } 40 }
41 41
42 public hide() { 42 hide() {
43 if (this.timer) { 43 if (this.timer) {
44 clearInterval(this.timer); 44 clearInterval(this.timer);
45 this.timer = undefined; 45 this.timer = undefined;
@@ -48,7 +48,7 @@ export class StatusDisplay implements vscode.Disposable {
48 this.statusBarItem.hide(); 48 this.statusBarItem.hide();
49 } 49 }
50 50
51 public dispose() { 51 dispose() {
52 if (this.timer) { 52 if (this.timer) {
53 clearInterval(this.timer); 53 clearInterval(this.timer);
54 this.timer = undefined; 54 this.timer = undefined;
@@ -57,7 +57,7 @@ export class StatusDisplay implements vscode.Disposable {
57 this.statusBarItem.dispose(); 57 this.statusBarItem.dispose();
58 } 58 }
59 59
60 public handleProgressNotification(params: ProgressParams) { 60 handleProgressNotification(params: ProgressParams) {
61 const { token, value } = params; 61 const { token, value } = params;
62 if (token !== 'rustAnalyzer/cargoWatcher') { 62 if (token !== 'rustAnalyzer/cargoWatcher') {
63 return; 63 return;