mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-22 09:38:38 +01:00
Add terminal location API (#131028)
This commit is contained in:
@@ -23,7 +23,21 @@ export class ExtHostTerminalService extends BaseExtHostTerminalService {
|
||||
public createTerminalFromOptions(options: vscode.TerminalOptions, internalOptions?: ITerminalInternalOptions): vscode.Terminal {
|
||||
const terminal = new ExtHostTerminal(this._proxy, generateUuid(), options, options.name);
|
||||
this._terminals.push(terminal);
|
||||
terminal.create(options, internalOptions);
|
||||
terminal.create(options, this._serializeParentTerminal(options, internalOptions));
|
||||
return terminal.value;
|
||||
}
|
||||
|
||||
private _serializeParentTerminal(options: vscode.TerminalOptions, internalOptions?: ITerminalInternalOptions): ITerminalInternalOptions {
|
||||
internalOptions = internalOptions ? internalOptions : {};
|
||||
if (options.location && typeof options.location === 'object' && 'parentTerminal' in options.location) {
|
||||
const parentTerminal = options.location.parentTerminal;
|
||||
if (parentTerminal) {
|
||||
const parentExtHostTerminal = this._terminals.find(t => t.value === parentTerminal);
|
||||
if (parentExtHostTerminal) {
|
||||
internalOptions.resolvedExtHostIdentifier = parentExtHostTerminal._id;
|
||||
}
|
||||
}
|
||||
}
|
||||
return internalOptions;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user