Implement contributed profiles in terminal editors

Fixes #127158
This commit is contained in:
Daniel Imms
2021-06-25 13:19:10 -07:00
parent 45ce2781ed
commit 855d764df5
18 changed files with 107 additions and 80 deletions

View File

@@ -146,13 +146,16 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
};
let terminal: ITerminalInstance | undefined;
if (launchConfig.isSplitTerminal) {
const activeInstance = this._terminalService.activeInstance;
const activeInstance = this._terminalService.getInstanceHost(launchConfig.target).activeInstance;
if (activeInstance) {
terminal = withNullAsUndefined(this._terminalService.splitInstance(activeInstance, shellLaunchConfig));
}
}
if (!terminal) {
terminal = this._terminalService.createTerminal({ config: shellLaunchConfig });
terminal = this._terminalService.createTerminal({
config: shellLaunchConfig,
target: launchConfig.target
});
}
this._extHostTerminalIds.set(extHostTerminalId, terminal.instanceId);
}
@@ -215,8 +218,8 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
public $registerProfileProvider(id: string, extensionIdentifier: string): void {
// Proxy profile provider requests through the extension host
this._profileProviders.set(id, this._terminalService.registerTerminalProfileProvider(extensionIdentifier, id, {
createContributedTerminalProfile: async (isSplitTerminal) => {
return this._proxy.$createContributedProfileTerminal(id, isSplitTerminal);
createContributedTerminalProfile: async (options) => {
return this._proxy.$createContributedProfileTerminal(id, options);
}
}));
}