Skip to content

Commit 43e9ea4

Browse files
committed
debt - replace most remaining TPromise-occurrences with Thenable 💃, microsoft#53526
1 parent 0488153 commit 43e9ea4

54 files changed

Lines changed: 696 additions & 749 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/vs/base/parts/quickopen/browser/quickOpenViewer.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { TPromise } from 'vs/base/common/winjs.base';
76
import { isFunction } from 'vs/base/common/types';
87
import { ITree, IRenderer, IFilter, IDataSource, IAccessibilityProvider } from 'vs/base/parts/tree/browser/tree';
98
import { IModel } from 'vs/base/parts/quickopen/common/quickOpen';
@@ -37,12 +36,12 @@ export class DataSource implements IDataSource {
3736
return model && model === element && model.entries.length > 0;
3837
}
3938

40-
getChildren(tree: ITree, element: any): TPromise<any[]> {
39+
getChildren(tree: ITree, element: any): Thenable<any[]> {
4140
const model = this.modelProvider.getModel();
4241
return Promise.resolve(model === element ? model.entries : []);
4342
}
4443

45-
getParent(tree: ITree, element: any): TPromise<any> {
44+
getParent(tree: ITree, element: any): Thenable<any> {
4645
return Promise.resolve(null);
4746
}
4847
}
@@ -140,4 +139,4 @@ export class Renderer implements IRenderer {
140139
const model = this.modelProvider.getModel();
141140
model.renderer.disposeTemplate(templateId, templateData);
142141
}
143-
}
142+
}

src/vs/base/parts/tree/browser/tree.ts

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import * as WinJS from 'vs/base/common/winjs.base';
76
import * as Touch from 'vs/base/browser/touch';
87
import * as Mouse from 'vs/base/browser/mouseEvent';
98
import * as Keyboard from 'vs/base/browser/keyboardEvent';
@@ -50,7 +49,7 @@ export interface ITree {
5049
/**
5150
* Sets the input of the tree.
5251
*/
53-
setInput(element: any): WinJS.Promise;
52+
setInput(element: any): Thenable<any>;
5453

5554
/**
5655
* Returns the tree's input.
@@ -76,7 +75,7 @@ export interface ITree {
7675
* Refreshes an element.
7776
* Provide no arguments and it will refresh the input element.
7877
*/
79-
refresh(element?: any, recursive?: boolean): WinJS.Promise;
78+
refresh(element?: any, recursive?: boolean): Thenable<any>;
8079

8180
/**
8281
* Updates an element's width.
@@ -87,36 +86,36 @@ export interface ITree {
8786
* Expands an element.
8887
* The returned promise returns a boolean for whether the element was expanded or not.
8988
*/
90-
expand(element: any): WinJS.Promise;
89+
expand(element: any): Thenable<any>;
9190

9291
/**
9392
* Expands several elements.
9493
* The returned promise returns a boolean array for whether the elements were expanded or not.
9594
*/
96-
expandAll(elements?: any[]): WinJS.Promise;
95+
expandAll(elements?: any[]): Thenable<any>;
9796

9897
/**
9998
* Collapses an element.
10099
* The returned promise returns a boolean for whether the element was collapsed or not.
101100
*/
102-
collapse(element: any, recursive?: boolean): WinJS.Promise;
101+
collapse(element: any, recursive?: boolean): Thenable<any>;
103102

104103
/**
105104
* Collapses several elements.
106105
* Provide no arguments and it will recursively collapse all elements in the tree
107106
* The returned promise returns a boolean for whether the elements were collapsed or not.
108107
*/
109-
collapseAll(elements?: any[], recursive?: boolean): WinJS.Promise;
108+
collapseAll(elements?: any[], recursive?: boolean): Thenable<any>;
110109

111110
/**
112111
* Toggles an element's expansion state.
113112
*/
114-
toggleExpansion(element: any, recursive?: boolean): WinJS.Promise;
113+
toggleExpansion(element: any, recursive?: boolean): Thenable<any>;
115114

116115
/**
117116
* Toggles several element's expansion state.
118117
*/
119-
toggleExpansionAll(elements: any[]): WinJS.Promise;
118+
toggleExpansionAll(elements: any[]): Thenable<any>;
120119

121120
/**
122121
* Returns whether an element is expanded or not.
@@ -132,7 +131,7 @@ export interface ITree {
132131
* Reveals an element in the tree. The relativeTop is a value between 0 and 1. The closer to 0 the more the
133132
* element will scroll up to the top.
134133
*/
135-
reveal(element: any, relativeTop?: number): WinJS.Promise;
134+
reveal(element: any, relativeTop?: number): Thenable<any>;
136135

137136
/**
138137
* Returns the relative top position of any given element, if visible.
@@ -378,12 +377,12 @@ export interface IDataSource {
378377
/**
379378
* Returns the element's children as an array in a promise.
380379
*/
381-
getChildren(tree: ITree, element: any): WinJS.Promise;
380+
getChildren(tree: ITree, element: any): Thenable<any>;
382381

383382
/**
384383
* Returns the element's parent in a promise.
385384
*/
386-
getParent(tree: ITree, element: any): WinJS.Promise;
385+
getParent(tree: ITree, element: any): Thenable<any>;
387386

388387
/**
389388
* Returns whether an element should be expanded when first added to the tree.

src/vs/base/parts/tree/browser/treeImpl.ts

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import 'vs/css!./tree';
7-
import * as WinJS from 'vs/base/common/winjs.base';
87
import * as TreeDefaults from 'vs/base/parts/tree/browser/treeDefaults';
98
import * as Model from 'vs/base/parts/tree/browser/treeModel';
109
import * as View from './treeView';
@@ -150,15 +149,15 @@ export class Tree implements _.ITree {
150149
this.view.onHidden();
151150
}
152151

153-
public setInput(element: any): WinJS.Promise {
152+
public setInput(element: any): Thenable<any> {
154153
return this.model.setInput(element);
155154
}
156155

157156
public getInput(): any {
158157
return this.model.getInput();
159158
}
160159

161-
public refresh(element: any = null, recursive = true): WinJS.Promise {
160+
public refresh(element: any = null, recursive = true): Thenable<any> {
162161
return this.model.refresh(element, recursive);
163162
}
164163

@@ -167,27 +166,27 @@ export class Tree implements _.ITree {
167166
return this.view.updateWidth(item);
168167
}
169168

170-
public expand(element: any): WinJS.Promise {
169+
public expand(element: any): Thenable<any> {
171170
return this.model.expand(element);
172171
}
173172

174-
public expandAll(elements: any[]): WinJS.Promise {
173+
public expandAll(elements: any[]): Thenable<any> {
175174
return this.model.expandAll(elements);
176175
}
177176

178-
public collapse(element: any, recursive: boolean = false): WinJS.Promise {
177+
public collapse(element: any, recursive: boolean = false): Thenable<any> {
179178
return this.model.collapse(element, recursive);
180179
}
181180

182-
public collapseAll(elements: any[] | null = null, recursive: boolean = false): WinJS.Promise {
181+
public collapseAll(elements: any[] | null = null, recursive: boolean = false): Thenable<any> {
183182
return this.model.collapseAll(elements, recursive);
184183
}
185184

186-
public toggleExpansion(element: any, recursive: boolean = false): WinJS.Promise {
185+
public toggleExpansion(element: any, recursive: boolean = false): Thenable<any> {
187186
return this.model.toggleExpansion(element, recursive);
188187
}
189188

190-
public toggleExpansionAll(elements: any[]): WinJS.Promise {
189+
public toggleExpansionAll(elements: any[]): Thenable<any> {
191190
return this.model.toggleExpansionAll(elements);
192191
}
193192

@@ -199,7 +198,7 @@ export class Tree implements _.ITree {
199198
return this.model.getExpandedElements();
200199
}
201200

202-
public reveal(element: any, relativeTop: number | null = null): WinJS.Promise {
201+
public reveal(element: any, relativeTop: number | null = null): Thenable<any> {
203202
return this.model.reveal(element, relativeTop);
204203
}
205204

src/vs/code/electron-main/app.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ import pkg from 'vs/platform/node/package';
3838
import { ProxyAuthHandler } from 'vs/code/electron-main/auth';
3939
import { Disposable, toDisposable } from 'vs/base/common/lifecycle';
4040
import { ConfigurationService } from 'vs/platform/configuration/node/configurationService';
41-
import { TPromise } from 'vs/base/common/winjs.base';
4241
import { IWindowsMainService, ICodeWindow } from 'vs/platform/windows/electron-main/windows';
4342
import { IHistoryMainService } from 'vs/platform/history/common/history';
4443
import { isUndefinedOrNull } from 'vs/base/common/types';
@@ -85,7 +84,7 @@ export class CodeApplication extends Disposable {
8584
private electronIpcServer: ElectronIPCServer;
8685

8786
private sharedProcess: SharedProcess;
88-
private sharedProcessClient: TPromise<Client>;
87+
private sharedProcessClient: Thenable<Client>;
8988

9089
constructor(
9190
private mainIpcServer: Server,
@@ -173,7 +172,7 @@ export class CodeApplication extends Disposable {
173172

174173
class ActiveConnection {
175174
private _authority: string;
176-
private _client: TPromise<Client<RemoteAgentConnectionContext>>;
175+
private _client: Thenable<Client<RemoteAgentConnectionContext>>;
177176
private _disposeRunner: RunOnceScheduler;
178177

179178
constructor(authority: string, host: string, port: number) {
@@ -190,7 +189,7 @@ export class CodeApplication extends Disposable {
190189
});
191190
}
192191

193-
public getClient(): TPromise<Client<RemoteAgentConnectionContext>> {
192+
public getClient(): Thenable<Client<RemoteAgentConnectionContext>> {
194193
this._disposeRunner.schedule();
195194
return this._client;
196195
}
@@ -382,7 +381,7 @@ export class CodeApplication extends Disposable {
382381
}
383382
}
384383

385-
startup(): TPromise<void> {
384+
startup(): Thenable<void> {
386385
this.logService.debug('Starting VS Code');
387386
this.logService.debug(`from: ${this.environmentService.appRoot}`);
388387
this.logService.debug('args:', this.environmentService.args);
@@ -457,7 +456,7 @@ export class CodeApplication extends Disposable {
457456
}
458457
}
459458

460-
private resolveMachineId(): string | TPromise<string> {
459+
private resolveMachineId(): string | Thenable<string> {
461460
const machineId = this.stateService.getItem<string>(CodeApplication.MACHINE_ID_KEY);
462461
if (machineId) {
463462
return machineId;
@@ -645,7 +644,7 @@ export class CodeApplication extends Disposable {
645644
const environmentService = accessor.get(IEnvironmentService);
646645

647646
urlService.registerHandler({
648-
handleURL(uri: URI): TPromise<boolean> {
647+
handleURL(uri: URI): Thenable<boolean> {
649648
if (windowsMainService.getWindowCount() === 0) {
650649
const cli = { ...environmentService.args, goto: true };
651650
const [window] = windowsMainService.open({ context: OpenContext.API, cli, forceEmpty: true });

src/vs/code/electron-main/windows.ts

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
2626
import { IWindowsMainService, IOpenConfiguration, IWindowsCountChangedEvent, ICodeWindow, IWindowState as ISingleWindowState, WindowMode } from 'vs/platform/windows/electron-main/windows';
2727
import { IHistoryMainService } from 'vs/platform/history/common/history';
2828
import { IProcessEnvironment, isLinux, isMacintosh, isWindows } from 'vs/base/common/platform';
29-
import { TPromise } from 'vs/base/common/winjs.base';
3029
import { IWorkspacesMainService, IWorkspaceIdentifier, WORKSPACE_FILTER, IWorkspaceFolderCreationData, ISingleFolderWorkspaceIdentifier, isSingleFolderWorkspaceIdentifier } from 'vs/platform/workspaces/common/workspaces';
3130
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
3231
import { mnemonicButtonLabel } from 'vs/base/common/labels';
@@ -1489,15 +1488,15 @@ export class WindowsManager implements IWindowsMainService {
14891488
});
14901489
}
14911490

1492-
saveAndEnterWorkspace(win: ICodeWindow, path: string): TPromise<IEnterWorkspaceResult> {
1491+
saveAndEnterWorkspace(win: ICodeWindow, path: string): Thenable<IEnterWorkspaceResult> {
14931492
return this.workspacesManager.saveAndEnterWorkspace(win, path).then(result => this.doEnterWorkspace(win, result));
14941493
}
14951494

1496-
enterWorkspace(win: ICodeWindow, path: string): TPromise<IEnterWorkspaceResult> {
1495+
enterWorkspace(win: ICodeWindow, path: string): Thenable<IEnterWorkspaceResult> {
14971496
return this.workspacesManager.enterWorkspace(win, path).then(result => this.doEnterWorkspace(win, result));
14981497
}
14991498

1500-
createAndEnterWorkspace(win: ICodeWindow, folders?: IWorkspaceFolderCreationData[], path?: string): TPromise<IEnterWorkspaceResult> {
1499+
createAndEnterWorkspace(win: ICodeWindow, folders?: IWorkspaceFolderCreationData[], path?: string): Thenable<IEnterWorkspaceResult> {
15011500
return this.workspacesManager.createAndEnterWorkspace(win, folders, path).then(result => this.doEnterWorkspace(win, result));
15021501
}
15031502

@@ -1853,7 +1852,7 @@ class Dialogs {
18531852
});
18541853
}
18551854

1856-
private getFileOrFolderUris(options: IInternalNativeOpenDialogOptions): TPromise<URI[]> {
1855+
private getFileOrFolderUris(options: IInternalNativeOpenDialogOptions): Thenable<URI[]> {
18571856

18581857
// Ensure dialog options
18591858
if (!options.dialogOptions) {
@@ -1985,15 +1984,15 @@ class WorkspacesManager {
19851984
) {
19861985
}
19871986

1988-
saveAndEnterWorkspace(window: ICodeWindow, path: string): TPromise<IEnterWorkspaceResult> {
1987+
saveAndEnterWorkspace(window: ICodeWindow, path: string): Thenable<IEnterWorkspaceResult> {
19891988
if (!window || !window.win || !window.isReady || !window.openedWorkspace || !path || !this.isValidTargetWorkspacePath(window, path)) {
19901989
return Promise.resolve(null); // return early if the window is not ready or disposed or does not have a workspace
19911990
}
19921991

19931992
return this.doSaveAndOpenWorkspace(window, window.openedWorkspace, path);
19941993
}
19951994

1996-
enterWorkspace(window: ICodeWindow, path: string): TPromise<IEnterWorkspaceResult> {
1995+
enterWorkspace(window: ICodeWindow, path: string): Thenable<IEnterWorkspaceResult> {
19971996
if (!window || !window.win || !window.isReady) {
19981997
return Promise.resolve(null); // return early if the window is not ready or disposed
19991998
}
@@ -2010,7 +2009,7 @@ class WorkspacesManager {
20102009

20112010
}
20122011

2013-
createAndEnterWorkspace(window: ICodeWindow, folders?: IWorkspaceFolderCreationData[], path?: string): TPromise<IEnterWorkspaceResult> {
2012+
createAndEnterWorkspace(window: ICodeWindow, folders?: IWorkspaceFolderCreationData[], path?: string): Thenable<IEnterWorkspaceResult> {
20142013
if (!window || !window.win || !window.isReady) {
20152014
return Promise.resolve(null); // return early if the window is not ready or disposed
20162015
}
@@ -2027,7 +2026,7 @@ class WorkspacesManager {
20272026

20282027
}
20292028

2030-
private isValidTargetWorkspacePath(window: ICodeWindow, path?: string): TPromise<boolean> {
2029+
private isValidTargetWorkspacePath(window: ICodeWindow, path?: string): Thenable<boolean> {
20312030
if (!path) {
20322031
return Promise.resolve(true);
20332032
}
@@ -2053,8 +2052,8 @@ class WorkspacesManager {
20532052
return Promise.resolve(true); // OK
20542053
}
20552054

2056-
private doSaveAndOpenWorkspace(window: ICodeWindow, workspace: IWorkspaceIdentifier, path?: string): TPromise<IEnterWorkspaceResult> {
2057-
let savePromise: TPromise<IWorkspaceIdentifier>;
2055+
private doSaveAndOpenWorkspace(window: ICodeWindow, workspace: IWorkspaceIdentifier, path?: string): Thenable<IEnterWorkspaceResult> {
2056+
let savePromise: Thenable<IWorkspaceIdentifier>;
20582057
if (path) {
20592058
savePromise = this.workspacesMainService.saveWorkspace(workspace, path);
20602059
} else {
@@ -2099,7 +2098,7 @@ class WorkspacesManager {
20992098
});
21002099
}
21012100

2102-
promptToSaveUntitledWorkspace(window: ICodeWindow, workspace: IWorkspaceIdentifier): TPromise<boolean> {
2101+
promptToSaveUntitledWorkspace(window: ICodeWindow, workspace: IWorkspaceIdentifier): Thenable<boolean> {
21032102
enum ConfirmResult {
21042103
SAVE,
21052104
DONT_SAVE,

src/vs/platform/list/browser/listService.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import { KeyCode } from 'vs/base/common/keyCodes';
1616
import { combinedDisposable, Disposable, dispose, IDisposable, toDisposable } from 'vs/base/common/lifecycle';
1717
import { ScrollbarVisibility } from 'vs/base/common/scrollable';
1818
import { isUndefinedOrNull } from 'vs/base/common/types';
19-
import { TPromise } from 'vs/base/common/winjs.base';
2019
import { IFilter, ITree, ITreeConfiguration, ITreeOptions } from 'vs/base/parts/tree/browser/tree';
2120
import { ClickBehavior, DefaultController, DefaultTreestyler, IControllerOptions, OpenMode } from 'vs/base/parts/tree/browser/treeDefaults';
2221
import { Tree } from 'vs/base/parts/tree/browser/treeImpl';
@@ -795,7 +794,7 @@ export class HighlightingWorkbenchTree extends WorkbenchTree {
795794
this.disposables.push(this._onDidStartFilter);
796795
}
797796

798-
setInput(element: any): TPromise<any> {
797+
setInput(element: any): Thenable<any> {
799798
this.input.setEnabled(false);
800799
return super.setInput(element).then(value => {
801800
if (!this.input.inputElement) {

src/vs/platform/menubar/common/menubar.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { TPromise } from 'vs/base/common/winjs.base';
76
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
87
import { URI } from 'vs/base/common/uri';
98

@@ -12,7 +11,7 @@ export const IMenubarService = createDecorator<IMenubarService>('menubarService'
1211
export interface IMenubarService {
1312
_serviceBrand: any;
1413

15-
updateMenubar(windowId: number, menuData: IMenubarData): TPromise<void>;
14+
updateMenubar(windowId: number, menuData: IMenubarData): Thenable<void>;
1615
}
1716

1817
export interface IMenubarData {
@@ -69,4 +68,4 @@ export function isMenubarMenuItemUriAction(menuItem: MenubarMenuItem): menuItem
6968

7069
export function isMenubarMenuItemAction(menuItem: MenubarMenuItem): menuItem is IMenubarMenuItemAction {
7170
return !isMenubarMenuItemSubmenu(menuItem) && !isMenubarMenuItemSeparator(menuItem) && !isMenubarMenuItemUriAction(menuItem);
72-
}
71+
}

0 commit comments

Comments
 (0)