mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-25 11:08:51 +01:00
fix #131263
This commit is contained in:
@@ -53,6 +53,7 @@ export interface ITerminalInternalOptions {
|
||||
useShellEnvironment?: boolean;
|
||||
resolvedExtHostIdentifier?: ExtHostTerminalIdentifier;
|
||||
splitActiveTerminal?: boolean;
|
||||
location?: TerminalLocation | { viewColumn: number, preserveState?: boolean } | { splitActiveTerminal: boolean };
|
||||
}
|
||||
|
||||
export const IExtHostTerminalService = createDecorator<IExtHostTerminalService>('IExtHostTerminalService');
|
||||
@@ -147,7 +148,7 @@ export class ExtHostTerminal {
|
||||
isFeatureTerminal: withNullAsUndefined(internalOptions?.isFeatureTerminal),
|
||||
isExtensionOwnedTerminal: true,
|
||||
useShellEnvironment: withNullAsUndefined(internalOptions?.useShellEnvironment),
|
||||
location: this._serializeParentTerminal(options.location, internalOptions?.resolvedExtHostIdentifier, internalOptions?.splitActiveTerminal)
|
||||
location: internalOptions?.location || this._serializeParentTerminal(options.location, internalOptions?.resolvedExtHostIdentifier, internalOptions?.location)
|
||||
});
|
||||
}
|
||||
|
||||
@@ -170,11 +171,11 @@ export class ExtHostTerminal {
|
||||
return this._id;
|
||||
}
|
||||
|
||||
private _serializeParentTerminal(location?: TerminalLocation | vscode.TerminalEditorLocationOptions | vscode.TerminalSplitLocationOptions, parentTerminal?: ExtHostTerminalIdentifier, splitActiveTerminal?: boolean): TerminalLocation | vscode.TerminalEditorLocationOptions | { parentTerminal: ExtHostTerminalIdentifier } | { splitActiveTerminal: boolean } | undefined {
|
||||
private _serializeParentTerminal(location?: TerminalLocation | vscode.TerminalEditorLocationOptions | vscode.TerminalSplitLocationOptions | { splitActiveTerminal: boolean }, parentTerminal?: ExtHostTerminalIdentifier, internalLocation?: TerminalLocation | { viewColumn: number, preserveState?: boolean } | { splitActiveTerminal: boolean }): TerminalLocation | vscode.TerminalEditorLocationOptions | { parentTerminal: ExtHostTerminalIdentifier } | { splitActiveTerminal: boolean, location?: TerminalLocation } | vscode.TerminalEditorLocationOptions | undefined {
|
||||
if (typeof location === 'object' && 'parentTerminal' in location) {
|
||||
return parentTerminal ? { parentTerminal } : undefined;
|
||||
} else if (splitActiveTerminal) {
|
||||
return { splitActiveTerminal: true };
|
||||
} else if (internalLocation) {
|
||||
location = internalLocation;
|
||||
}
|
||||
return location;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user