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