brintos

brintos / llvm-project-archived public Read only

0
0
Text · 666 B · 42ece76 Raw
28 lines · typescript
1import * as vscode from "vscode";2 3/**4 * This class provides a simple wrapper around vscode.Disposable that allows5 * for registering additional disposables.6 */7export class DisposableContext implements vscode.Disposable {8  private _disposables: vscode.Disposable[] = [];9 10  constructor() {}11 12  public dispose() {13    for (const disposable of this._disposables) {14      disposable.dispose();15    }16    this._disposables = [];17  }18 19  /**20   * Push an additional disposable to the context.21   *22   * @param disposable The disposable to register.23   */24  public pushSubscription(...disposable: vscode.Disposable[]) {25    this._disposables.push(...disposable);26  }27}28