mirror of
https://github.com/microsoft/vscode.git
synced 2026-07-14 16:04:09 +01:00
propagate ext terminal errrors; fixes #92380
This commit is contained in:
@@ -75,7 +75,7 @@ export class MainThreadDebugService implements MainThreadDebugServiceShape, IDeb
|
||||
}
|
||||
|
||||
runInTerminal(args: DebugProtocol.RunInTerminalRequestArguments): Promise<number | undefined> {
|
||||
return Promise.resolve(this._proxy.$runInTerminal(args));
|
||||
return this._proxy.$runInTerminal(args);
|
||||
}
|
||||
|
||||
// RPC methods (MainThreadDebugServiceShape)
|
||||
|
||||
@@ -113,7 +113,7 @@ export class ExtHostDebugService extends ExtHostDebugServiceBase {
|
||||
|
||||
} else if (args.kind === 'external') {
|
||||
|
||||
runInExternalTerminal(args, await this._configurationService.getConfigProvider());
|
||||
return runInExternalTerminal(args, await this._configurationService.getConfigProvider());
|
||||
}
|
||||
return super.$runInTerminal(args);
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ import { ExtHostConfigProvider } from 'vs/workbench/api/common/extHostConfigurat
|
||||
|
||||
let externalTerminalService: IExternalTerminalService | undefined = undefined;
|
||||
|
||||
export function runInExternalTerminal(args: DebugProtocol.RunInTerminalRequestArguments, configProvider: ExtHostConfigProvider): void {
|
||||
export function runInExternalTerminal(args: DebugProtocol.RunInTerminalRequestArguments, configProvider: ExtHostConfigProvider): Promise<number | undefined> {
|
||||
if (!externalTerminalService) {
|
||||
if (env.isWindows) {
|
||||
externalTerminalService = new WindowsExternalTerminalService(<IConfigurationService><unknown>undefined);
|
||||
@@ -20,12 +20,12 @@ export function runInExternalTerminal(args: DebugProtocol.RunInTerminalRequestAr
|
||||
externalTerminalService = new MacExternalTerminalService(<IConfigurationService><unknown>undefined);
|
||||
} else if (env.isLinux) {
|
||||
externalTerminalService = new LinuxExternalTerminalService(<IConfigurationService><unknown>undefined);
|
||||
} else {
|
||||
throw new Error('external terminals not supported on this platform');
|
||||
}
|
||||
}
|
||||
if (externalTerminalService) {
|
||||
const config = configProvider.getConfiguration('terminal');
|
||||
externalTerminalService.runInTerminal(args.title!, args.cwd, args.args, args.env || {}, config.external || {});
|
||||
}
|
||||
const config = configProvider.getConfiguration('terminal');
|
||||
return externalTerminalService.runInTerminal(args.title!, args.cwd, args.args, args.env || {}, config.external || {});
|
||||
}
|
||||
|
||||
function spawnAsPromised(command: string, args: string[]): Promise<string> {
|
||||
|
||||
Reference in New Issue
Block a user