blob: 42ece763d247f183be18abbca2f1279bbb65fdc1 [file] [log] [blame]
import * as vscode from "vscode";
/**
* This class provides a simple wrapper around vscode.Disposable that allows
* for registering additional disposables.
*/
export class DisposableContext implements vscode.Disposable {
private _disposables: vscode.Disposable[] = [];
constructor() {}
public dispose() {
for (const disposable of this._disposables) {
disposable.dispose();
}
this._disposables = [];
}
/**
* Push an additional disposable to the context.
*
* @param disposable The disposable to register.
*/
public pushSubscription(...disposable: vscode.Disposable[]) {
this._disposables.push(...disposable);
}
}