Move pty to shared process

This commit is contained in:
Daniel Imms
2021-02-10 14:03:34 -08:00
parent 1abb2d9534
commit 67dda13a3a
10 changed files with 148 additions and 70 deletions
@@ -81,6 +81,10 @@ import { DeprecatedExtensionsCleaner } from 'vs/code/electron-browser/sharedProc
import { onUnexpectedError, setUnexpectedErrorHandler } from 'vs/base/common/errors';
import { toErrorMessage } from 'vs/base/common/errorMessage';
import { join } from 'vs/base/common/path';
import { LocalPtyChannel } from 'vs/platform/terminal/electron-browser/terminalIpc';
import { TerminalIpcChannels } from 'vs/platform/terminal/common/terminal';
import { LocalPtyService } from 'vs/platform/terminal/electron-browser/localPtyService';
import { ILocalPtyService } from 'vs/platform/terminal/electron-sandbox/terminal';
class SharedProcessMain extends Disposable {
@@ -259,6 +263,10 @@ class SharedProcessMain extends Disposable {
services.set(IUserDataSyncResourceEnablementService, new SyncDescriptor(UserDataSyncResourceEnablementService));
services.set(IUserDataSyncService, new SyncDescriptor(UserDataSyncService));
// Terminal
// TODO: Move out of electron-main
services.set(ILocalPtyService, new SyncDescriptor(LocalPtyService));
return new InstantiationService(services);
}
@@ -304,6 +312,11 @@ class SharedProcessMain extends Disposable {
const userDataAutoSync = this._register(accessor.get(IInstantiationService).createInstance(UserDataAutoSyncService));
const userDataAutoSyncChannel = new UserDataAutoSyncChannel(userDataAutoSync);
this.server.registerChannel('userDataAutoSync', userDataAutoSyncChannel);
// Terminal
const localPtyMainService = accessor.get(ILocalPtyService);
const localPtyMainChannel = new LocalPtyChannel(localPtyMainService);
this.server.registerChannel(TerminalIpcChannels.LocalPty, localPtyMainChannel);
}
private registerErrorHandler(logService: ILogService): void {