From 68b2f0f86ce8f60788ece30a0da8650f256a988d Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Mon, 1 Oct 2018 10:11:43 -0700 Subject: [PATCH] Remove TPromise usage in execution part Part of #53526 --- .../parts/execution/common/execution.ts | 3 +- .../execution/electron-browser/terminal.ts | 9 +++--- .../electron-browser/terminalService.ts | 31 +++++++++---------- 3 files changed, 20 insertions(+), 23 deletions(-) diff --git a/src/vs/workbench/parts/execution/common/execution.ts b/src/vs/workbench/parts/execution/common/execution.ts index 713d0c48cbb..a0b93cde480 100644 --- a/src/vs/workbench/parts/execution/common/execution.ts +++ b/src/vs/workbench/parts/execution/common/execution.ts @@ -5,7 +5,6 @@ 'use strict'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; -import { TPromise } from 'vs/base/common/winjs.base'; import { IProcessEnvironment } from 'vs/base/common/platform'; export const ITerminalService = createDecorator('nativeTerminalService'); @@ -13,5 +12,5 @@ export const ITerminalService = createDecorator('nativeTermina export interface ITerminalService { _serviceBrand: any; openTerminal(path: string): void; - runInTerminal(title: string, cwd: string, args: string[], env: IProcessEnvironment): TPromise; + runInTerminal(title: string, cwd: string, args: string[], env: IProcessEnvironment): Promise; } \ No newline at end of file diff --git a/src/vs/workbench/parts/execution/electron-browser/terminal.ts b/src/vs/workbench/parts/execution/electron-browser/terminal.ts index 9017299073e..ca0c47cab08 100644 --- a/src/vs/workbench/parts/execution/electron-browser/terminal.ts +++ b/src/vs/workbench/parts/execution/electron-browser/terminal.ts @@ -6,14 +6,13 @@ import * as env from 'vs/base/common/platform'; import * as pfs from 'vs/base/node/pfs'; -import { TPromise } from 'vs/base/common/winjs.base'; -let _DEFAULT_TERMINAL_LINUX_READY: TPromise = null; -export function getDefaultTerminalLinuxReady(): TPromise { +let _DEFAULT_TERMINAL_LINUX_READY: Promise = null; +export function getDefaultTerminalLinuxReady(): Promise { if (!_DEFAULT_TERMINAL_LINUX_READY) { - _DEFAULT_TERMINAL_LINUX_READY = new TPromise(c => { + _DEFAULT_TERMINAL_LINUX_READY = new Promise(c => { if (env.isLinux) { - TPromise.join([pfs.exists('/etc/debian_version'), process.lazyEnv]).then(([isDebian]) => { + Promise.all([pfs.exists('/etc/debian_version'), process.lazyEnv]).then(([isDebian]) => { if (isDebian) { c('x-terminal-emulator'); } else if (process.env.DESKTOP_SESSION === 'gnome' || process.env.DESKTOP_SESSION === 'gnome-classic') { diff --git a/src/vs/workbench/parts/execution/electron-browser/terminalService.ts b/src/vs/workbench/parts/execution/electron-browser/terminalService.ts index 9327fcd7e78..e9f76e0990d 100644 --- a/src/vs/workbench/parts/execution/electron-browser/terminalService.ts +++ b/src/vs/workbench/parts/execution/electron-browser/terminalService.ts @@ -10,7 +10,6 @@ import * as path from 'path'; import * as processes from 'vs/base/node/processes'; import * as nls from 'vs/nls'; import { assign } from 'vs/base/common/objects'; -import { TPromise } from 'vs/base/common/winjs.base'; import { ITerminalService } from 'vs/workbench/parts/execution/common/execution'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { ITerminalConfiguration, getDefaultTerminalWindows, getDefaultTerminalLinuxReady, DEFAULT_TERMINAL_OSX } from 'vs/workbench/parts/execution/electron-browser/terminal'; @@ -40,13 +39,13 @@ export class WinTerminalService implements ITerminalService { this.spawnTerminal(cp, configuration, processes.getWindowsShell(), cwd); } - public runInTerminal(title: string, dir: string, args: string[], envVars: IProcessEnvironment): TPromise { + public runInTerminal(title: string, dir: string, args: string[], envVars: IProcessEnvironment): Promise { const configuration = this._configurationService.getValue(); const terminalConfig = configuration.terminal.external; const exec = terminalConfig.windowsExec || getDefaultTerminalWindows(); - return new TPromise((c, e) => { + return new Promise((c, e) => { const title = `"${dir} - ${TERMINAL_TITLE}"`; const command = `""${args.join('" "')}" & pause"`; // use '|' to only pause on non-zero exit code @@ -74,7 +73,7 @@ export class WinTerminalService implements ITerminalService { }); } - private spawnTerminal(spawner, configuration: ITerminalConfiguration, command: string, cwd?: string): TPromise { + private spawnTerminal(spawner, configuration: ITerminalConfiguration, command: string, cwd?: string): Promise { const terminalConfig = configuration.terminal.external; const exec = terminalConfig.windowsExec || getDefaultTerminalWindows(); const spawnType = this.getSpawnType(exec); @@ -88,14 +87,14 @@ export class WinTerminalService implements ITerminalService { // unless otherwise specified if (spawnType === WinSpawnType.CMDER) { spawner.spawn(exec, [cwd]); - return TPromise.as(void 0); + return Promise.resolve(void 0); } // The '""' argument is the window title. Without this, exec doesn't work when the path // contains spaces const cmdArgs = ['/c', 'start', '/wait', '""', exec]; - return new TPromise((c, e) => { + return new Promise((c, e) => { const env = cwd ? { cwd: cwd } : void 0; const child = spawner.spawn(command, cmdArgs, env); child.on('error', e); @@ -127,13 +126,13 @@ export class MacTerminalService implements ITerminalService { this.spawnTerminal(cp, configuration, cwd); } - public runInTerminal(title: string, dir: string, args: string[], envVars: IProcessEnvironment): TPromise { + public runInTerminal(title: string, dir: string, args: string[], envVars: IProcessEnvironment): Promise { const configuration = this._configurationService.getValue(); const terminalConfig = configuration.terminal.external; const terminalApp = terminalConfig.osxExec || DEFAULT_TERMINAL_OSX; - return new TPromise((c, e) => { + return new Promise((c, e) => { if (terminalApp === DEFAULT_TERMINAL_OSX || terminalApp === 'iTerm.app') { @@ -191,11 +190,11 @@ export class MacTerminalService implements ITerminalService { }); } - private spawnTerminal(spawner, configuration: ITerminalConfiguration, cwd?: string): TPromise { + private spawnTerminal(spawner, configuration: ITerminalConfiguration, cwd?: string): Promise { const terminalConfig = configuration.terminal.external; const terminalApp = terminalConfig.osxExec || DEFAULT_TERMINAL_OSX; - return new TPromise((c, e) => { + return new Promise((c, e) => { const child = spawner.spawn('/usr/bin/open', ['-a', terminalApp, cwd]); child.on('error', e); child.on('exit', () => c(null)); @@ -219,13 +218,13 @@ export class LinuxTerminalService implements ITerminalService { this.spawnTerminal(cp, configuration, cwd); } - public runInTerminal(title: string, dir: string, args: string[], envVars: IProcessEnvironment): TPromise { + public runInTerminal(title: string, dir: string, args: string[], envVars: IProcessEnvironment): Promise { const configuration = this._configurationService.getValue(); const terminalConfig = configuration.terminal.external; - const execPromise = terminalConfig.linuxExec ? TPromise.as(terminalConfig.linuxExec) : getDefaultTerminalLinuxReady(); + const execPromise = terminalConfig.linuxExec ? Promise.resolve(terminalConfig.linuxExec) : getDefaultTerminalLinuxReady(); - return new TPromise((c, e) => { + return new Promise((c, e) => { let termArgs: string[] = []; //termArgs.push('--title'); @@ -275,12 +274,12 @@ export class LinuxTerminalService implements ITerminalService { }); } - private spawnTerminal(spawner, configuration: ITerminalConfiguration, cwd?: string): TPromise { + private spawnTerminal(spawner, configuration: ITerminalConfiguration, cwd?: string): Promise { const terminalConfig = configuration.terminal.external; - const execPromise = terminalConfig.linuxExec ? TPromise.as(terminalConfig.linuxExec) : getDefaultTerminalLinuxReady(); + const execPromise = terminalConfig.linuxExec ? Promise.resolve(terminalConfig.linuxExec) : getDefaultTerminalLinuxReady(); const env = cwd ? { cwd: cwd } : void 0; - return new TPromise((c, e) => { + return new Promise((c, e) => { execPromise.then(exec => { const child = spawner.spawn(exec, [], env); child.on('error', e); -- GitLab