mirror of
https://github.com/Microsoft/vscode
synced 2024-09-18 01:58:27 +00:00
Keep both capability event types
This commit is contained in:
parent
0d474f0081
commit
ca22267ddc
|
@ -83,26 +83,28 @@ export interface ITerminalCapabilityStore {
|
|||
readonly items: IterableIterator<TerminalCapability>;
|
||||
|
||||
/**
|
||||
* Fired when a capability is added.
|
||||
* @deprecated Use onDidAddCapability2
|
||||
* Fired when a capability is added. The event data for this is only the
|
||||
* {@link TerminalCapability} type, use {@link onDidAddCapability} to access the actual
|
||||
* capability.
|
||||
*/
|
||||
readonly onDidAddCapability: Event<TerminalCapability>;
|
||||
readonly onDidAddCapabilityType: Event<TerminalCapability>;
|
||||
|
||||
/**
|
||||
* Fired when a capability is removed.
|
||||
* @deprecated Use onDidRemoveCapability2
|
||||
* Fired when a capability is removed. The event data for this is only the
|
||||
* {@link TerminalCapability} type, use {@link onDidAddCapability} to access the actual
|
||||
* capability.
|
||||
*/
|
||||
readonly onDidRemoveCapability: Event<TerminalCapability>;
|
||||
readonly onDidRemoveCapabilityType: Event<TerminalCapability>;
|
||||
|
||||
/**
|
||||
* Fired when a capability is added.
|
||||
*/
|
||||
readonly onDidAddCapability2: Event<TerminalCapabilityChangeEvent<any>>;
|
||||
readonly onDidAddCapability: Event<TerminalCapabilityChangeEvent<any>>;
|
||||
|
||||
/**
|
||||
* Fired when a capability is removed.
|
||||
*/
|
||||
readonly onDidRemoveCapability2: Event<TerminalCapabilityChangeEvent<any>>;
|
||||
readonly onDidRemoveCapability: Event<TerminalCapabilityChangeEvent<any>>;
|
||||
|
||||
/**
|
||||
* Gets whether the capability exists in the store.
|
||||
|
|
|
@ -11,14 +11,14 @@ export class TerminalCapabilityStore extends Disposable implements ITerminalCapa
|
|||
private _map: Map<TerminalCapability, { type: TerminalCapability }> = new Map();
|
||||
|
||||
private readonly _onDidRemoveCapability = this._register(new Emitter<TerminalCapability>());
|
||||
readonly onDidRemoveCapability = this._onDidRemoveCapability.event;
|
||||
readonly onDidRemoveCapabilityType = this._onDidRemoveCapability.event;
|
||||
private readonly _onDidAddCapability = this._register(new Emitter<TerminalCapability>());
|
||||
readonly onDidAddCapability = this._onDidAddCapability.event;
|
||||
readonly onDidAddCapabilityType = this._onDidAddCapability.event;
|
||||
|
||||
private readonly _onDidRemoveCapability2 = this._register(new Emitter<TerminalCapabilityChangeEvent<any>>());
|
||||
readonly onDidRemoveCapability2 = this._onDidRemoveCapability2.event;
|
||||
readonly onDidRemoveCapability = this._onDidRemoveCapability2.event;
|
||||
private readonly _onDidAddCapability2 = this._register(new Emitter<TerminalCapabilityChangeEvent<any>>());
|
||||
readonly onDidAddCapability2 = this._onDidAddCapability2.event;
|
||||
readonly onDidAddCapability = this._onDidAddCapability2.event;
|
||||
|
||||
get items(): IterableIterator<TerminalCapability> {
|
||||
return this._map.keys();
|
||||
|
@ -54,14 +54,14 @@ export class TerminalCapabilityStoreMultiplexer extends Disposable implements IT
|
|||
readonly _stores: ITerminalCapabilityStore[] = [];
|
||||
|
||||
private readonly _onDidRemoveCapability = this._register(new Emitter<TerminalCapability>());
|
||||
readonly onDidRemoveCapability = this._onDidRemoveCapability.event;
|
||||
readonly onDidRemoveCapabilityType = this._onDidRemoveCapability.event;
|
||||
private readonly _onDidAddCapability = this._register(new Emitter<TerminalCapability>());
|
||||
readonly onDidAddCapability = this._onDidAddCapability.event;
|
||||
readonly onDidAddCapabilityType = this._onDidAddCapability.event;
|
||||
|
||||
private readonly _onDidRemoveCapability2 = this._register(new Emitter<TerminalCapabilityChangeEvent<any>>());
|
||||
readonly onDidRemoveCapability2 = this._onDidRemoveCapability2.event;
|
||||
readonly onDidRemoveCapability = this._onDidRemoveCapability2.event;
|
||||
private readonly _onDidAddCapability2 = this._register(new Emitter<TerminalCapabilityChangeEvent<any>>());
|
||||
readonly onDidAddCapability2 = this._onDidAddCapability2.event;
|
||||
readonly onDidAddCapability = this._onDidAddCapability2.event;
|
||||
|
||||
get items(): IterableIterator<TerminalCapability> {
|
||||
return this._items();
|
||||
|
@ -102,9 +102,9 @@ export class TerminalCapabilityStoreMultiplexer extends Disposable implements IT
|
|||
this._onDidAddCapability.fire(capability);
|
||||
this._onDidAddCapability2.fire({ id: capability, capability: store.get(capability)! });
|
||||
}
|
||||
store.onDidAddCapability(e => this._onDidAddCapability.fire(e));
|
||||
store.onDidAddCapability2(e => this._onDidAddCapability2.fire(e));
|
||||
store.onDidRemoveCapability(e => this._onDidRemoveCapability.fire(e));
|
||||
store.onDidRemoveCapability2(e => this._onDidRemoveCapability2.fire(e));
|
||||
store.onDidAddCapabilityType(e => this._onDidAddCapability.fire(e));
|
||||
store.onDidAddCapability(e => this._onDidAddCapability2.fire(e));
|
||||
store.onDidRemoveCapabilityType(e => this._onDidRemoveCapability.fire(e));
|
||||
store.onDidRemoveCapability(e => this._onDidRemoveCapability2.fire(e));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -177,8 +177,8 @@ export class TerminalEditorService extends Disposable implements ITerminalEditor
|
|||
this._instanceDisposables.set(inputKey, [
|
||||
instance.onDidFocus(this._onDidFocusInstance.fire, this._onDidFocusInstance),
|
||||
instance.onDisposed(this._onDidDisposeInstance.fire, this._onDidDisposeInstance),
|
||||
instance.capabilities.onDidAddCapability(() => this._onDidChangeInstanceCapability.fire(instance)),
|
||||
instance.capabilities.onDidRemoveCapability(() => this._onDidChangeInstanceCapability.fire(instance)),
|
||||
instance.capabilities.onDidAddCapabilityType(() => this._onDidChangeInstanceCapability.fire(instance)),
|
||||
instance.capabilities.onDidRemoveCapabilityType(() => this._onDidChangeInstanceCapability.fire(instance)),
|
||||
]);
|
||||
this.instances.push(instance);
|
||||
this._onDidChangeInstances.fire();
|
||||
|
|
|
@ -369,8 +369,8 @@ export class TerminalGroup extends Disposable implements ITerminalGroup {
|
|||
this._setActiveInstance(instance);
|
||||
this._onDidFocusInstance.fire(instance);
|
||||
}),
|
||||
instance.capabilities.onDidAddCapability(() => this._onDidChangeInstanceCapability.fire(instance)),
|
||||
instance.capabilities.onDidRemoveCapability(() => this._onDidChangeInstanceCapability.fire(instance)),
|
||||
instance.capabilities.onDidAddCapabilityType(() => this._onDidChangeInstanceCapability.fire(instance)),
|
||||
instance.capabilities.onDidRemoveCapabilityType(() => this._onDidChangeInstanceCapability.fire(instance)),
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
@ -412,7 +412,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
|
|||
this._terminalShellIntegrationEnabledContextKey = TerminalContextKeys.terminalShellIntegrationEnabled.bindTo(scopedContextKeyService);
|
||||
|
||||
this._logService.trace(`terminalInstance#ctor (instanceId: ${this.instanceId})`, this._shellLaunchConfig);
|
||||
this._register(this.capabilities.onDidAddCapability(e => {
|
||||
this._register(this.capabilities.onDidAddCapabilityType(e => {
|
||||
this._logService.debug('terminalInstance added capability', e);
|
||||
if (e === TerminalCapability.CwdDetection) {
|
||||
this.capabilities.get(TerminalCapability.CwdDetection)?.onDidChangeCwd(e => {
|
||||
|
@ -429,7 +429,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
|
|||
});
|
||||
}
|
||||
}));
|
||||
this._register(this.capabilities.onDidRemoveCapability(e => this._logService.debug('terminalInstance removed capability', e)));
|
||||
this._register(this.capabilities.onDidRemoveCapabilityType(e => this._logService.debug('terminalInstance removed capability', e)));
|
||||
|
||||
// Resolve just the icon ahead of time so that it shows up immediately in the tabs. This is
|
||||
// disabled in remote because this needs to be sync and the OS may differ on the remote
|
||||
|
@ -804,7 +804,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
|
|||
this._updateProcessCwd();
|
||||
}
|
||||
});
|
||||
this._register(this.capabilities.onDidAddCapability(e => {
|
||||
this._register(this.capabilities.onDidAddCapabilityType(e => {
|
||||
if (e === TerminalCapability.CwdDetection) {
|
||||
onKeyListener?.dispose();
|
||||
onKeyListener = undefined;
|
||||
|
|
|
@ -1246,7 +1246,7 @@ export class TerminalService extends Disposable implements ITerminalService {
|
|||
}
|
||||
|
||||
// Added capabilities
|
||||
const addCapabilityMultiplexer = this.onInstanceEvent(instance => Event.map(instance.capabilities.onDidAddCapability2, changeEvent => ({ instance, changeEvent })));
|
||||
const addCapabilityMultiplexer = this.onInstanceEvent(instance => Event.map(instance.capabilities.onDidAddCapability, changeEvent => ({ instance, changeEvent })));
|
||||
addCapabilityMultiplexer.event(e => {
|
||||
if (e.changeEvent.id === capabilityId) {
|
||||
addCapability(e.instance, e.changeEvent.capability);
|
||||
|
@ -1254,7 +1254,7 @@ export class TerminalService extends Disposable implements ITerminalService {
|
|||
});
|
||||
|
||||
// Removed capabilities
|
||||
const removeCapabilityMultiplexer = this.onInstanceEvent(instance => instance.capabilities.onDidRemoveCapability2);
|
||||
const removeCapabilityMultiplexer = this.onInstanceEvent(instance => instance.capabilities.onDidRemoveCapability);
|
||||
removeCapabilityMultiplexer.event(e => {
|
||||
if (e.id === capabilityId) {
|
||||
capabilityListeners.deleteAndDispose(e.capability);
|
||||
|
|
|
@ -112,7 +112,7 @@ export class TerminalViewPane extends ViewPane {
|
|||
}
|
||||
}));
|
||||
this._register(this._terminalService.onDidCreateInstance((i) => {
|
||||
i.capabilities.onDidAddCapability(c => {
|
||||
i.capabilities.onDidAddCapabilityType(c => {
|
||||
if (c === TerminalCapability.CommandDetection && this._gutterDecorationsEnabled()) {
|
||||
this._parentDomElement?.classList.add('shell-integration');
|
||||
}
|
||||
|
|
|
@ -69,8 +69,8 @@ export class DecorationAddon extends Disposable implements ITerminalAddon {
|
|||
}));
|
||||
this._register(this._themeService.onDidColorThemeChange(() => this._refreshStyles(true)));
|
||||
this._updateDecorationVisibility();
|
||||
this._register(this._capabilities.onDidAddCapability(c => this._createCapabilityDisposables(c)));
|
||||
this._register(this._capabilities.onDidRemoveCapability(c => this._removeCapabilityDisposables(c)));
|
||||
this._register(this._capabilities.onDidAddCapabilityType(c => this._createCapabilityDisposables(c)));
|
||||
this._register(this._capabilities.onDidRemoveCapabilityType(c => this._removeCapabilityDisposables(c)));
|
||||
this._register(lifecycleService.onWillShutdown(() => this._disposeAllDecorations()));
|
||||
this._terminalDecorationHoverService = instantiationService.createInstance(TerminalDecorationHoverManager);
|
||||
}
|
||||
|
|
|
@ -14,8 +14,8 @@ suite('TerminalCapabilityStore', () => {
|
|||
|
||||
setup(() => {
|
||||
store = new TerminalCapabilityStore();
|
||||
store.onDidAddCapability(e => addEvents.push(e));
|
||||
store.onDidRemoveCapability(e => removeEvents.push(e));
|
||||
store.onDidAddCapabilityType(e => addEvents.push(e));
|
||||
store.onDidRemoveCapabilityType(e => removeEvents.push(e));
|
||||
addEvents = [];
|
||||
removeEvents = [];
|
||||
});
|
||||
|
@ -61,8 +61,8 @@ suite('TerminalCapabilityStoreMultiplexer', () => {
|
|||
|
||||
setup(() => {
|
||||
multiplexer = new TerminalCapabilityStoreMultiplexer();
|
||||
multiplexer.onDidAddCapability(e => addEvents.push(e));
|
||||
multiplexer.onDidRemoveCapability(e => removeEvents.push(e));
|
||||
multiplexer.onDidAddCapabilityType(e => addEvents.push(e));
|
||||
multiplexer.onDidRemoveCapabilityType(e => removeEvents.push(e));
|
||||
store1 = new TerminalCapabilityStore();
|
||||
store2 = new TerminalCapabilityStore();
|
||||
addEvents = [];
|
||||
|
|
|
@ -89,7 +89,7 @@ export class TerminalQuickFixAddon extends Disposable implements ITerminalAddon,
|
|||
if (commandDetectionCapability) {
|
||||
this._registerCommandHandlers();
|
||||
} else {
|
||||
this._register(this._capabilities.onDidAddCapability(c => {
|
||||
this._register(this._capabilities.onDidAddCapabilityType(c => {
|
||||
if (c === TerminalCapability.CommandDetection) {
|
||||
this._registerCommandHandlers();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue