mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-21 09:08:53 +01:00
Serialize-friendly interface
This commit is contained in:
@@ -161,23 +161,12 @@ export interface IExtensionsActivatorHost {
|
||||
actualActivateExtension(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<ActivatedExtension>;
|
||||
}
|
||||
|
||||
export class ExtensionActivatedByEvent {
|
||||
constructor(
|
||||
public readonly startup: boolean,
|
||||
public readonly extensionId: ExtensionIdentifier,
|
||||
public readonly activationEvent: string
|
||||
) { }
|
||||
export interface ExtensionActivationReason {
|
||||
readonly startup: boolean;
|
||||
readonly extensionId: ExtensionIdentifier;
|
||||
readonly activationEvent: string;
|
||||
}
|
||||
|
||||
export class ExtensionActivatedByAPI {
|
||||
constructor(
|
||||
public readonly startup: boolean,
|
||||
public readonly extensionId: ExtensionIdentifier
|
||||
) { }
|
||||
}
|
||||
|
||||
export type ExtensionActivationReason = ExtensionActivatedByEvent | ExtensionActivatedByAPI;
|
||||
|
||||
type ActivationIdAndReason = { id: ExtensionIdentifier, reason: ExtensionActivationReason };
|
||||
|
||||
export class ExtensionsActivator {
|
||||
@@ -228,7 +217,7 @@ export class ExtensionsActivator {
|
||||
const activateExtensions = this._registry.getExtensionDescriptionsForActivationEvent(activationEvent);
|
||||
return this._activateExtensions(activateExtensions.map(e => ({
|
||||
id: e.identifier,
|
||||
reason: new ExtensionActivatedByEvent(startup, e.identifier, activationEvent)
|
||||
reason: { startup, extensionId: e.identifier, activationEvent }
|
||||
}))).then(() => {
|
||||
this._alreadyActivatedEvents[activationEvent] = true;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user