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); } }