allow to reuse the same function/context when listening to events

This commit is contained in:
Johannes Rieken
2017-09-25 12:40:35 +02:00
parent be3e1c36a5
commit 7cb8ac43e6
6 changed files with 222 additions and 54 deletions

View File

@@ -37,12 +37,8 @@ export class ExtHostDocumentSaveParticipant implements ExtHostDocumentSavePartic
get onWillSaveTextDocumentEvent(): Event<vscode.TextDocumentWillSaveEvent> {
return (listener, thisArg, disposables) => {
this._callbacks.add(listener, thisArg);
const result = {
dispose: () => {
this._callbacks.remove(listener, thisArg);
}
};
const remove = this._callbacks.add(listener, thisArg);
const result = { dispose: remove };
if (Array.isArray(disposables)) {
disposables.push(result);
}