vscode: eliminate floating promises and insane amount of resource handle leaks

This commit is contained in:
Veetaha 2020-02-05 22:39:47 +02:00
parent 8d0f7da2f5
commit 8153b60e1d
8 changed files with 34 additions and 19 deletions

View file

@ -9,12 +9,14 @@ const spinnerFrames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '
export function activateStatusDisplay(ctx: Ctx) {
const statusDisplay = new StatusDisplay(ctx.config.cargoWatchOptions.command);
ctx.pushCleanup(statusDisplay);
ctx.onDidRestart(client => {
client.onProgress(WorkDoneProgress.type, 'rustAnalyzer/cargoWatcher', params => statusDisplay.handleProgressNotification(params));
});
ctx.onDidRestart(client => ctx.pushCleanup(client.onProgress(
WorkDoneProgress.type,
'rustAnalyzer/cargoWatcher',
params => statusDisplay.handleProgressNotification(params)
)));
}
class StatusDisplay implements vscode.Disposable, Disposable {
class StatusDisplay implements Disposable {
packageName?: string;
private i: number = 0;