This commit is contained in:
Megan Rogge 2021-07-06 12:14:47 -05:00 committed by GitHub
parent 619d4e9a40
commit 364ba12a4c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 76 additions and 76 deletions

View file

@ -65,12 +65,12 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
}));
this._toDispose.add(_terminalService.onDidDisposeInstance(instance => this._onTerminalDisposed(instance)));
this._toDispose.add(_terminalService.onInstanceProcessIdReady(instance => this._onTerminalProcessIdReady(instance)));
this._toDispose.add(_terminalService.onInstanceDimensionsChanged(instance => this._onInstanceDimensionsChanged(instance)));
this._toDispose.add(_terminalService.onInstanceMaximumDimensionsChanged(instance => this._onInstanceMaximumDimensionsChanged(instance)));
this._toDispose.add(_terminalService.onInstanceRequestStartExtensionTerminal(e => this._onRequestStartExtensionTerminal(e)));
this._toDispose.add(_terminalService.onDidReceiveProcessId(instance => this._onTerminalProcessIdReady(instance)));
this._toDispose.add(_terminalService.onDidChangeInstanceDimensions(instance => this._onInstanceDimensionsChanged(instance)));
this._toDispose.add(_terminalService.onDidMaximumDimensionsChange(instance => this._onInstanceMaximumDimensionsChanged(instance)));
this._toDispose.add(_terminalService.onDidRequestStartExtensionTerminal(e => this._onRequestStartExtensionTerminal(e)));
this._toDispose.add(_terminalService.onDidChangeActiveInstance(instance => this._onActiveTerminalChanged(instance ? instance.instanceId : null)));
this._toDispose.add(_terminalService.onInstanceTitleChanged(instance => instance && this._onTitleChanged(instance.instanceId, instance.title)));
this._toDispose.add(_terminalService.onDidChangeInstanceTitle(instance => instance && this._onTitleChanged(instance.instanceId, instance.title)));
// Set initial ext host state
this._terminalService.instances.forEach(t => {

View file

@ -111,17 +111,17 @@ export interface ITerminalService extends ITerminalInstanceHost {
readonly profilesReady: Promise<void>;
initializeTerminals(): Promise<void>;
onActiveGroupChanged: Event<ITerminalGroup | undefined>;
onGroupDisposed: Event<ITerminalGroup>;
onDidChangeActiveGroup: Event<ITerminalGroup | undefined>;
onDidDisposeGroup: Event<ITerminalGroup>;
onDidCreateInstance: Event<ITerminalInstance>;
onInstanceProcessIdReady: Event<ITerminalInstance>;
onInstanceDimensionsChanged: Event<ITerminalInstance>;
onInstanceMaximumDimensionsChanged: Event<ITerminalInstance>;
onInstanceRequestStartExtensionTerminal: Event<IStartExtensionTerminalRequest>;
onInstanceTitleChanged: Event<ITerminalInstance | undefined>;
onInstanceIconChanged: Event<ITerminalInstance | undefined>;
onInstanceColorChanged: Event<ITerminalInstance | undefined>;
onInstancePrimaryStatusChanged: Event<ITerminalInstance>;
onDidReceiveProcessId: Event<ITerminalInstance>;
onDidChangeInstanceDimensions: Event<ITerminalInstance>;
onDidMaximumDimensionsChange: Event<ITerminalInstance>;
onDidRequestStartExtensionTerminal: Event<IStartExtensionTerminalRequest>;
onDidChangeInstanceTitle: Event<ITerminalInstance | undefined>;
onDidChangeInstanceIcon: Event<ITerminalInstance | undefined>;
onDidChangeInstanceColor: Event<ITerminalInstance | undefined>;
onDidChangeInstancePrimaryStatus: Event<ITerminalInstance>;
onDidRegisterProcessSupport: Event<void>;
onDidChangeConnectionState: Event<void>;
onDidChangeAvailableProfiles: Event<ITerminalProfile[]>;
@ -221,7 +221,7 @@ export interface ITerminalGroupService extends ITerminalInstanceHost, ITerminalF
/** Fires when a group is created, disposed of, or shown (in the case of a background group). */
readonly onDidChangeGroups: Event<void>;
readonly onPanelOrientationChanged: Event<Orientation>;
readonly onDidChangePanelOrientation: Event<Orientation>;
createGroup(shellLaunchConfig?: IShellLaunchConfig): ITerminalGroup;
createGroup(instance?: ITerminalInstance): ITerminalGroup;

View file

@ -24,7 +24,7 @@ export class TerminalDecorationsProvider implements IDecorationsProvider {
constructor(
@ITerminalService private readonly _terminalService: ITerminalService
) {
this._terminalService.onInstancePrimaryStatusChanged(e => this._onDidChange.fire([e.resource]));
this._terminalService.onDidChangeInstancePrimaryStatus(e => this._onDidChange.fire([e.resource]));
}
get onDidChange(): Event<URI[]> {

View file

@ -51,8 +51,8 @@ export class TerminalGroupService extends Disposable implements ITerminalGroupSe
private readonly _onDidChangeInstances = new Emitter<void>();
readonly onDidChangeInstances = this._onDidChangeInstances.event;
private readonly _onPanelOrientationChanged = new Emitter<Orientation>();
readonly onPanelOrientationChanged = this._onPanelOrientationChanged.event;
private readonly _onDidChangePanelOrientation = new Emitter<Orientation>();
readonly onDidChangePanelOrientation = this._onDidChangePanelOrientation.event;
constructor(
@IContextKeyService private _contextKeyService: IContextKeyService,
@ -139,7 +139,7 @@ export class TerminalGroupService extends Disposable implements ITerminalGroupSe
createGroup(slcOrInstance?: IShellLaunchConfig | ITerminalInstance): ITerminalGroup {
const group = this._instantiationService.createInstance(TerminalGroup, this._container, slcOrInstance);
// TODO: Move panel orientation change into this file so it's not fired many times
group.onPanelOrientationChanged((orientation) => this._onPanelOrientationChanged.fire(orientation));
group.onPanelOrientationChanged((orientation) => this._onDidChangePanelOrientation.fire(orientation));
this.groups.push(group);
group.addDisposable(group.onDidDisposeInstance(this._onDidDisposeInstance.fire, this._onDidDisposeInstance));
group.addDisposable(group.onDidFocusInstance(this._onDidFocusInstance.fire, this._onDidFocusInstance));

View file

@ -86,40 +86,40 @@ export class TerminalService implements ITerminalService {
private _activeInstance: ITerminalInstance | undefined;
get activeInstance(): ITerminalInstance | undefined { return this._activeInstance; }
private readonly _onActiveGroupChanged = new Emitter<ITerminalGroup | undefined>();
get onActiveGroupChanged(): Event<ITerminalGroup | undefined> { return this._onActiveGroupChanged.event; }
private readonly _onDidChangeActiveGroup = new Emitter<ITerminalGroup | undefined>();
get onDidChangeActiveGroup(): Event<ITerminalGroup | undefined> { return this._onDidChangeActiveGroup.event; }
private readonly _onDidCreateInstance = new Emitter<ITerminalInstance>();
get onDidCreateInstance(): Event<ITerminalInstance> { return this._onDidCreateInstance.event; }
private readonly _onDidDisposeInstance = new Emitter<ITerminalInstance>();
get onDidDisposeInstance(): Event<ITerminalInstance> { return this._onDidDisposeInstance.event; }
private readonly _onDidFocusInstance = new Emitter<ITerminalInstance>();
get onDidFocusInstance(): Event<ITerminalInstance> { return this._onDidFocusInstance.event; }
private readonly _onInstanceProcessIdReady = new Emitter<ITerminalInstance>();
get onInstanceProcessIdReady(): Event<ITerminalInstance> { return this._onInstanceProcessIdReady.event; }
private readonly _onInstanceLinksReady = new Emitter<ITerminalInstance>();
get onInstanceLinksReady(): Event<ITerminalInstance> { return this._onInstanceLinksReady.event; }
private readonly _onInstanceRequestStartExtensionTerminal = new Emitter<IStartExtensionTerminalRequest>();
get onInstanceRequestStartExtensionTerminal(): Event<IStartExtensionTerminalRequest> { return this._onInstanceRequestStartExtensionTerminal.event; }
private readonly _onInstanceDimensionsChanged = new Emitter<ITerminalInstance>();
get onInstanceDimensionsChanged(): Event<ITerminalInstance> { return this._onInstanceDimensionsChanged.event; }
private readonly _onInstanceMaximumDimensionsChanged = new Emitter<ITerminalInstance>();
get onInstanceMaximumDimensionsChanged(): Event<ITerminalInstance> { return this._onInstanceMaximumDimensionsChanged.event; }
private readonly _onDidReceiveProcessId = new Emitter<ITerminalInstance>();
get onDidReceiveProcessId(): Event<ITerminalInstance> { return this._onDidReceiveProcessId.event; }
private readonly _onDidReceiveInstanceLinks = new Emitter<ITerminalInstance>();
get onDidReceiveInstanceLinks(): Event<ITerminalInstance> { return this._onDidReceiveInstanceLinks.event; }
private readonly _onDidRequestStartExtensionTerminal = new Emitter<IStartExtensionTerminalRequest>();
get onDidRequestStartExtensionTerminal(): Event<IStartExtensionTerminalRequest> { return this._onDidRequestStartExtensionTerminal.event; }
private readonly _onDidChangeInstanceDimensions = new Emitter<ITerminalInstance>();
get onDidChangeInstanceDimensions(): Event<ITerminalInstance> { return this._onDidChangeInstanceDimensions.event; }
private readonly _onDidMaxiumumDimensionsChange = new Emitter<ITerminalInstance>();
get onDidMaximumDimensionsChange(): Event<ITerminalInstance> { return this._onDidMaxiumumDimensionsChange.event; }
private readonly _onDidChangeInstances = new Emitter<void>();
get onDidChangeInstances(): Event<void> { return this._onDidChangeInstances.event; }
private readonly _onInstanceTitleChanged = new Emitter<ITerminalInstance | undefined>();
get onInstanceTitleChanged(): Event<ITerminalInstance | undefined> { return this._onInstanceTitleChanged.event; }
private readonly _onInstanceIconChanged = new Emitter<ITerminalInstance | undefined>();
get onInstanceIconChanged(): Event<ITerminalInstance | undefined> { return this._onInstanceIconChanged.event; }
private readonly _onInstanceColorChanged = new Emitter<ITerminalInstance | undefined>();
get onInstanceColorChanged(): Event<ITerminalInstance | undefined> { return this._onInstanceColorChanged.event; }
private readonly _onDidChangeInstanceTitle = new Emitter<ITerminalInstance | undefined>();
get onDidChangeInstanceTitle(): Event<ITerminalInstance | undefined> { return this._onDidChangeInstanceTitle.event; }
private readonly _onDidChangeInstanceIcon = new Emitter<ITerminalInstance | undefined>();
get onDidChangeInstanceIcon(): Event<ITerminalInstance | undefined> { return this._onDidChangeInstanceIcon.event; }
private readonly _onDidChangeInstanceColor = new Emitter<ITerminalInstance | undefined>();
get onDidChangeInstanceColor(): Event<ITerminalInstance | undefined> { return this._onDidChangeInstanceColor.event; }
private readonly _onDidChangeActiveInstance = new Emitter<ITerminalInstance | undefined>();
get onDidChangeActiveInstance(): Event<ITerminalInstance | undefined> { return this._onDidChangeActiveInstance.event; }
private readonly _onInstancePrimaryStatusChanged = new Emitter<ITerminalInstance>();
get onInstancePrimaryStatusChanged(): Event<ITerminalInstance> { return this._onInstancePrimaryStatusChanged.event; }
private readonly _onGroupDisposed = new Emitter<ITerminalGroup>();
get onGroupDisposed(): Event<ITerminalGroup> { return this._onGroupDisposed.event; }
private readonly _onGroupsChanged = new Emitter<void>();
get onGroupsChanged(): Event<void> { return this._onGroupsChanged.event; }
private readonly _onDidChangeInstancePrimaryStatus = new Emitter<ITerminalInstance>();
get onDidChangeInstancePrimaryStatus(): Event<ITerminalInstance> { return this._onDidChangeInstancePrimaryStatus.event; }
private readonly _onDidDisposeGroup = new Emitter<ITerminalGroup>();
get onDidDisposeGroup(): Event<ITerminalGroup> { return this._onDidDisposeGroup.event; }
private readonly _onDidChangeGroups = new Emitter<void>();
get onDidChangeGroups(): Event<void> { return this._onDidChangeGroups.event; }
private readonly _onDidRegisterProcessSupport = new Emitter<void>();
get onDidRegisterProcessSupport(): Event<void> { return this._onDidRegisterProcessSupport.event; }
private readonly _onDidChangeConnectionState = new Emitter<void>();
@ -189,7 +189,7 @@ export class TerminalService implements ITerminalService {
this._forwardInstanceHostEvents(this._terminalGroupService);
this._forwardInstanceHostEvents(this._terminalEditorService);
this._terminalGroupService.onDidChangeActiveGroup(this._onActiveGroupChanged.fire, this._onActiveGroupChanged);
this._terminalGroupService.onDidChangeActiveGroup(this._onDidChangeActiveGroup.fire, this._onDidChangeActiveGroup);
_terminalInstanceService.onDidCreateInstance(instance => {
this._initInstanceListeners(instance);
this._onDidCreateInstance.fire(instance);
@ -199,7 +199,7 @@ export class TerminalService implements ITerminalService {
// we update detected profiles when an instance is created so that,
// for example, we detect if you've installed a pwsh
this.onDidCreateInstance(() => this._refreshAvailableProfiles());
this.onInstanceLinksReady(instance => this._setInstanceLinkProviders(instance));
this.onDidReceiveInstanceLinks(instance => this._setInstanceLinkProviders(instance));
// Hide the panel if there are no more instances, provided that VS Code is not shutting
// down. When shutting down the panel is locked in place so that it is restored upon next
@ -389,14 +389,14 @@ export class TerminalService implements ITerminalService {
}
private _attachProcessLayoutListeners(): void {
this.onActiveGroupChanged(() => this._saveState());
this.onDidChangeActiveGroup(() => this._saveState());
this.onDidChangeActiveInstance(() => this._saveState());
this.onDidChangeInstances(() => this._saveState());
// The state must be updated when the terminal is relaunched, otherwise the persistent
// terminal ID will be stale and the process will be leaked.
this.onInstanceProcessIdReady(() => this._saveState());
this.onInstanceTitleChanged(instance => this._updateTitle(instance));
this.onInstanceIconChanged(instance => this._updateIcon(instance));
this.onDidReceiveProcessId(() => this._saveState());
this.onDidChangeInstanceTitle(instance => this._updateTitle(instance));
this.onDidChangeInstanceIcon(instance => this._updateIcon(instance));
}
private _handleInstanceContextKeys(): void {
@ -433,7 +433,7 @@ export class TerminalService implements ITerminalService {
requestStartExtensionTerminal(proxy: ITerminalProcessExtHostProxy, cols: number, rows: number): Promise<ITerminalLaunchError | undefined> {
// The initial request came from the extension host, no need to wait for it
return new Promise<ITerminalLaunchError | undefined>(callback => {
this._onInstanceRequestStartExtensionTerminal.fire({ proxy, cols, rows, callback });
this._onDidRequestStartExtensionTerminal.fire({ proxy, cols, rows, callback });
});
}
@ -535,7 +535,7 @@ export class TerminalService implements ITerminalService {
}
refreshActiveGroup(): void {
this._onActiveGroupChanged.fire(this._terminalGroupService.activeGroup);
this._onDidChangeActiveGroup.fire(this._terminalGroupService.activeGroup);
}
doWithActiveInstance<T>(callback: (terminal: ITerminalInstance) => T): T | void {
@ -693,24 +693,24 @@ export class TerminalService implements ITerminalService {
// Fire events
this._onDidChangeInstances.fire();
this._onActiveGroupChanged.fire(this._terminalGroupService.activeGroup);
this._onDidChangeActiveGroup.fire(this._terminalGroupService.activeGroup);
this._terminalGroupService.showPanel(true);
}
protected _initInstanceListeners(instance: ITerminalInstance): void {
instance.addDisposable(instance.onTitleChanged(this._onInstanceTitleChanged.fire, this._onInstanceTitleChanged));
instance.addDisposable(instance.onIconChanged(this._onInstanceIconChanged.fire, this._onInstanceIconChanged));
instance.addDisposable(instance.onIconChanged(this._onInstanceColorChanged.fire, this._onInstanceColorChanged));
instance.addDisposable(instance.onProcessIdReady(this._onInstanceProcessIdReady.fire, this._onInstanceProcessIdReady));
instance.addDisposable(instance.statusList.onDidChangePrimaryStatus(() => this._onInstancePrimaryStatusChanged.fire(instance)));
instance.addDisposable(instance.onLinksReady(this._onInstanceLinksReady.fire, this._onInstanceLinksReady));
instance.addDisposable(instance.onTitleChanged(this._onDidChangeInstanceTitle.fire, this._onDidChangeInstanceTitle));
instance.addDisposable(instance.onIconChanged(this._onDidChangeInstanceIcon.fire, this._onDidChangeInstanceIcon));
instance.addDisposable(instance.onIconChanged(this._onDidChangeInstanceColor.fire, this._onDidChangeInstanceColor));
instance.addDisposable(instance.onProcessIdReady(this._onDidReceiveProcessId.fire, this._onDidReceiveProcessId));
instance.addDisposable(instance.statusList.onDidChangePrimaryStatus(() => this._onDidChangeInstancePrimaryStatus.fire(instance)));
instance.addDisposable(instance.onLinksReady(this._onDidReceiveInstanceLinks.fire, this._onDidReceiveInstanceLinks));
instance.addDisposable(instance.onDimensionsChanged(() => {
this._onInstanceDimensionsChanged.fire(instance);
this._onDidChangeInstanceDimensions.fire(instance);
if (this.configHelper.config.enablePersistentSessions && this.isProcessSupportRegistered) {
this._saveState();
}
}));
instance.addDisposable(instance.onMaximumDimensionsChanged(() => this._onInstanceMaximumDimensionsChanged.fire(instance)));
instance.addDisposable(instance.onMaximumDimensionsChanged(() => this._onDidMaxiumumDimensionsChange.fire(instance)));
instance.addDisposable(instance.onFocus(this._onDidChangeActiveInstance.fire, this._onDidChangeActiveInstance));
instance.addDisposable(instance.onRequestAddInstanceToGroup(e => {
const instanceId = this._getInstanceIdFromUri(e.uri);
@ -1087,7 +1087,7 @@ export class TerminalService implements ITerminalService {
}
this._onDidChangeInstances.fire();
this._onGroupsChanged.fire();
this._onDidChangeGroups.fire();
}
async setContainers(panelContainer: HTMLElement, terminalContainer: HTMLElement): Promise<void> {
@ -1117,8 +1117,8 @@ class TerminalEditorStyle extends Themable {
}
private _registerListeners(): void {
this._register(this._terminalService.onInstanceIconChanged(() => this.updateStyles()));
this._register(this._terminalService.onInstanceColorChanged(() => this.updateStyles()));
this._register(this._terminalService.onDidChangeInstanceIcon(() => this.updateStyles()));
this._register(this._terminalService.onDidChangeInstanceColor(() => this.updateStyles()));
this._register(this._terminalService.onDidChangeInstances(() => this.updateStyles()));
}

View file

@ -138,7 +138,7 @@ export class TerminalTabbedView extends Disposable {
this._attachEventListeners(parentElement, this._terminalContainer);
this._terminalGroupService.onPanelOrientationChanged((orientation) => {
this._terminalGroupService.onDidChangePanelOrientation((orientation) => {
this._panelOrientation = orientation;
});

View file

@ -101,9 +101,9 @@ export class TerminalTabList extends WorkbenchList<ITerminalInstance> {
);
this._terminalGroupService.onDidChangeInstances(() => this.refresh());
this._terminalGroupService.onDidChangeGroups(() => this.refresh());
this._terminalService.onInstanceTitleChanged(() => this.refresh());
this._terminalService.onInstanceIconChanged(() => this.refresh());
this._terminalService.onInstancePrimaryStatusChanged(() => this.refresh());
this._terminalService.onDidChangeInstanceTitle(() => this.refresh());
this._terminalService.onDidChangeInstanceIcon(() => this.refresh());
this._terminalService.onDidChangeInstancePrimaryStatus(() => this.refresh());
this._terminalService.onDidChangeConnectionState(() => this.refresh());
this._themeService.onDidColorThemeChange(() => this.refresh());
this._terminalGroupService.onDidChangeActiveInstance(e => {

View file

@ -359,9 +359,9 @@ class SwitchTerminalActionViewItem extends SelectActionViewItem {
) {
super(null, action, getTerminalSelectOpenItems(_terminalService, _terminalGroupService), _terminalGroupService.activeGroupIndex, contextViewService, { ariaLabel: nls.localize('terminals', 'Open Terminals.'), optionsAsChildren: true });
this._register(_terminalService.onDidChangeInstances(() => this._updateItems(), this));
this._register(_terminalService.onActiveGroupChanged(() => this._updateItems(), this));
this._register(_terminalService.onDidChangeActiveGroup(() => this._updateItems(), this));
this._register(_terminalService.onDidChangeActiveInstance(() => this._updateItems(), this));
this._register(_terminalService.onInstanceTitleChanged(() => this._updateItems(), this));
this._register(_terminalService.onDidChangeInstanceTitle(() => this._updateItems(), this));
this._register(_terminalGroupService.onDidChangeGroups(() => this._updateItems(), this));
this._register(_terminalService.onDidChangeConnectionState(() => this._updateItems(), this));
this._register(_terminalService.onDidChangeAvailableProfiles(() => this._updateItems(), this));
@ -433,11 +433,11 @@ class SingleTerminalTabActionViewItem extends MenuEntryActionViewItem {
}, keybindingService, notificationService, contextKeyService);
// Register listeners to update the tab
this._register(this._terminalService.onInstancePrimaryStatusChanged(e => this.updateLabel(e)));
this._register(this._terminalService.onDidChangeInstancePrimaryStatus(e => this.updateLabel(e)));
this._register(this._terminalGroupService.onDidChangeActiveInstance(() => this.updateLabel()));
this._register(this._terminalService.onInstanceIconChanged(e => this.updateLabel(e)));
this._register(this._terminalService.onInstanceColorChanged(e => this.updateLabel(e)));
this._register(this._terminalService.onInstanceTitleChanged(e => {
this._register(this._terminalService.onDidChangeInstanceIcon(e => this.updateLabel(e)));
this._register(this._terminalService.onDidChangeInstanceColor(e => this.updateLabel(e)));
this._register(this._terminalService.onDidChangeInstanceTitle(e => {
if (e === this._terminalGroupService.activeInstance) {
this._action.tooltip = getSingleTabTooltip(e);
this.updateLabel();
@ -590,8 +590,8 @@ class TerminalThemeIconStyle extends Themable {
}
private _registerListeners(): void {
this._register(this._terminalService.onInstanceIconChanged(() => this.updateStyles()));
this._register(this._terminalService.onInstanceColorChanged(() => this.updateStyles()));
this._register(this._terminalService.onDidChangeInstanceIcon(() => this.updateStyles()));
this._register(this._terminalService.onDidChangeInstanceColor(() => this.updateStyles()));
this._register(this._terminalService.onDidChangeInstances(() => this.updateStyles()));
this._register(this._terminalGroupService.onDidChangeGroups(() => this.updateStyles()));
}