Use DisposableStore in a few more places

- Also switches a few places that re-implemented Disposable with calls to `_register` instead
This commit is contained in:
Matt Bierner
2019-10-07 15:07:49 -07:00
parent 095358e3b2
commit 90f33ddc6d
9 changed files with 56 additions and 75 deletions

View File

@@ -12,7 +12,7 @@ import { IExtensionPointUser, ExtensionMessageCollector, ExtensionsRegistry } fr
import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
import { MenuId, MenuRegistry, ILocalizedString, IMenuItem } from 'vs/platform/actions/common/actions';
import { URI } from 'vs/base/common/uri';
import { IDisposable, dispose, DisposableStore } from 'vs/base/common/lifecycle';
import { DisposableStore } from 'vs/base/common/lifecycle';
namespace schema {
@@ -387,7 +387,7 @@ commandsExtensionPoint.setHandler(extensions => {
}
});
let _menuRegistrations: IDisposable[] = [];
const _menuRegistrations = new DisposableStore();
ExtensionsRegistry.registerExtensionPoint<{ [loc: string]: schema.IUserFriendlyMenuItem[] }>({
extensionPoint: 'menus',
@@ -395,7 +395,7 @@ ExtensionsRegistry.registerExtensionPoint<{ [loc: string]: schema.IUserFriendlyM
}).setHandler(extensions => {
// remove all previous menu registrations
_menuRegistrations = dispose(_menuRegistrations);
_menuRegistrations.clear();
for (let extension of extensions) {
const { value, collector } = extension;
@@ -450,7 +450,7 @@ ExtensionsRegistry.registerExtensionPoint<{ [loc: string]: schema.IUserFriendlyM
order,
when: ContextKeyExpr.deserialize(item.when)
} as IMenuItem);
_menuRegistrations.push(registration);
_menuRegistrations.add(registration);
}
});
}