Add shellArgs. Fix #10917

This commit is contained in:
Pine Wu
2016-09-13 14:07:16 -07:00
parent da4a174b3d
commit 2966990272
8 changed files with 25 additions and 18 deletions

View File

@@ -260,8 +260,8 @@ export class ExtHostAPIImplementation {
createOutputChannel(name: string): vscode.OutputChannel {
return extHostOutputService.createOutputChannel(name);
},
createTerminal(name?: string, shellPath?: string): vscode.Terminal {
return extHostTerminalService.createTerminal(name, shellPath);
createTerminal(name?: string, shellPath?: string, shellArgs?: string[]): vscode.Terminal {
return extHostTerminalService.createTerminal(name, shellPath, shellArgs);
}
};

View File

@@ -153,7 +153,7 @@ export abstract class MainThreadOutputServiceShape {
}
export abstract class MainThreadTerminalServiceShape {
$createTerminal(name?: string, shellPath?: string): number { throw ni(); }
$createTerminal(name?: string, shellPath?: string, shellArgs?: string[]): number { throw ni(); }
$dispose(terminalId: number): void { throw ni(); }
$hide(terminalId: number): void { throw ni(); }
$sendText(terminalId: number, text: string, addNewLine: boolean): void { throw ni(); }

View File

@@ -12,16 +12,17 @@ export class ExtHostTerminal implements vscode.Terminal {
public _name: string;
public _shellPath: string;
public _shellArgs: string[];
private _id: number;
private _proxy: MainThreadTerminalServiceShape;
private _disposed: boolean;
constructor(proxy: MainThreadTerminalServiceShape, id: number, name?: string, shellPath?: string) {
constructor(proxy: MainThreadTerminalServiceShape, id: number, name?: string, shellPath?: string, shellArgs?: string[]) {
this._name = name;
this._shellPath = shellPath;
this._proxy = proxy;
this._id = this._proxy.$createTerminal(name, shellPath);
this._id = this._proxy.$createTerminal(name, shellPath, shellArgs);
}
public get name(): string {
@@ -66,7 +67,7 @@ export class ExtHostTerminalService {
this._proxy = threadService.get(MainContext.MainThreadTerminalService);
}
public createTerminal(name?: string, shellPath?: string): vscode.Terminal {
return new ExtHostTerminal(this._proxy, -1, name, shellPath);
public createTerminal(name?: string, shellPath?: string, shellArgs?: string[]): vscode.Terminal {
return new ExtHostTerminal(this._proxy, -1, name, shellPath, shellArgs);
}
}

View File

@@ -19,8 +19,8 @@ export class MainThreadTerminalService extends MainThreadTerminalServiceShape {
super();
}
public $createTerminal(name?: string, shellPath?: string): number {
return this.terminalService.createInstance(name, shellPath).id;
public $createTerminal(name?: string, shellPath?: string, shellArgs?: string[]): number {
return this.terminalService.createInstance(name, shellPath, shellArgs).id;
}
public $show(terminalId: number, preserveFocus: boolean): void {