Pass location internalOption through to main thread

Fixes #193183
This commit is contained in:
Daniel Imms
2023-12-08 15:04:07 -08:00
parent 4e70a0f5eb
commit 2f4104ef0f

View File

@@ -174,7 +174,7 @@ export class ExtHostTerminal {
}
public async createExtensionTerminal(location?: TerminalLocation | vscode.TerminalEditorLocationOptions | vscode.TerminalSplitLocationOptions, parentTerminal?: ExtHostTerminalIdentifier, iconPath?: TerminalIcon, color?: ThemeColor): Promise<number> {
public async createExtensionTerminal(location?: TerminalLocation | vscode.TerminalEditorLocationOptions | vscode.TerminalSplitLocationOptions, internalOptions?: ITerminalInternalOptions, parentTerminal?: ExtHostTerminalIdentifier, iconPath?: TerminalIcon, color?: ThemeColor): Promise<number> {
if (typeof this._id !== 'string') {
throw new Error('Terminal has already been created');
}
@@ -183,7 +183,7 @@ export class ExtHostTerminal {
isExtensionCustomPtyTerminal: true,
icon: iconPath,
color: ThemeColor.isThemeColor(color) ? color.id : undefined,
location: this._serializeParentTerminal(location, parentTerminal),
location: internalOptions?.location || this._serializeParentTerminal(location, parentTerminal),
isTransient: true
});
// At this point, the id has been set via `$acceptTerminalOpened`
@@ -469,7 +469,7 @@ export abstract class BaseExtHostTerminalService extends Disposable implements I
public createExtensionTerminal(options: vscode.ExtensionTerminalOptions, internalOptions?: ITerminalInternalOptions): vscode.Terminal {
const terminal = new ExtHostTerminal(this._proxy, generateUuid(), options, options.name);
const p = new ExtHostPseudoterminal(options.pty);
terminal.createExtensionTerminal(options.location, this._serializeParentTerminal(options, internalOptions).resolvedExtHostIdentifier, asTerminalIcon(options.iconPath), asTerminalColor(options.color)).then(id => {
terminal.createExtensionTerminal(options.location, internalOptions, this._serializeParentTerminal(options, internalOptions).resolvedExtHostIdentifier, asTerminalIcon(options.iconPath), asTerminalColor(options.color)).then(id => {
const disposable = this._setupExtHostProcessListeners(id, p);
this._terminalProcessDisposables[id] = disposable;
});