Skip to content

Commit 17d674a

Browse files
committed
Reduce usage of WinJS Promise (microsoft#53526)
1 parent d3d3236 commit 17d674a

11 files changed

Lines changed: 27 additions & 31 deletions

File tree

src/vs/editor/common/services/modeService.ts

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

66
import { Event } from 'vs/base/common/event';
7-
import { TPromise } from 'vs/base/common/winjs.base';
87
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
98
import { IMode, LanguageId, LanguageIdentifier } from 'vs/editor/common/modes';
109
import { URI } from 'vs/base/common/uri';
@@ -43,7 +42,7 @@ export interface IModeService {
4342

4443
// --- instantiation
4544
getMode(commaSeparatedMimetypesOrCommaSeparatedIds: string): IMode;
46-
getOrCreateMode(commaSeparatedMimetypesOrCommaSeparatedIds: string): TPromise<IMode>;
47-
getOrCreateModeByLanguageName(languageName: string): TPromise<IMode>;
48-
getOrCreateModeByFilepathOrFirstLine(filepath: string, firstLine?: string): TPromise<IMode>;
45+
getOrCreateMode(commaSeparatedMimetypesOrCommaSeparatedIds: string): Promise<IMode>;
46+
getOrCreateModeByLanguageName(languageName: string): Promise<IMode>;
47+
getOrCreateModeByFilepathOrFirstLine(filepath: string, firstLine?: string): Promise<IMode>;
4948
}

src/vs/editor/common/services/modeServiceImpl.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
import { onUnexpectedError } from 'vs/base/common/errors';
77
import { Event, Emitter } from 'vs/base/common/event';
8-
import { TPromise } from 'vs/base/common/winjs.base';
98
import { IMode, LanguageId, LanguageIdentifier } from 'vs/editor/common/modes';
109
import { FrankensteinMode } from 'vs/editor/common/modes/abstractMode';
1110
import { LanguagesRegistry } from 'vs/editor/common/services/languagesRegistry';
@@ -27,8 +26,8 @@ export class ModeServiceImpl implements IModeService {
2726
this._registry = new LanguagesRegistry(true, warnOnOverwrite);
2827
}
2928

30-
protected _onReady(): TPromise<boolean> {
31-
return TPromise.as(true);
29+
protected _onReady(): Promise<boolean> {
30+
return Promise.resolve(true);
3231
}
3332

3433
public isRegisteredMode(mimetypeOrModeId: string): boolean {
@@ -115,15 +114,15 @@ export class ModeServiceImpl implements IModeService {
115114
return null;
116115
}
117116

118-
public getOrCreateMode(commaSeparatedMimetypesOrCommaSeparatedIds: string): TPromise<IMode> {
117+
public getOrCreateMode(commaSeparatedMimetypesOrCommaSeparatedIds: string): Promise<IMode> {
119118
return this._onReady().then(() => {
120119
const modeId = this.getModeId(commaSeparatedMimetypesOrCommaSeparatedIds);
121120
// Fall back to plain text if no mode was found
122121
return this._getOrCreateMode(modeId || 'plaintext');
123122
});
124123
}
125124

126-
public getOrCreateModeByLanguageName(languageName: string): TPromise<IMode> {
125+
public getOrCreateModeByLanguageName(languageName: string): Promise<IMode> {
127126
return this._onReady().then(() => {
128127
const modeId = this._getModeIdByLanguageName(languageName);
129128
// Fall back to plain text if no mode was found
@@ -141,7 +140,7 @@ export class ModeServiceImpl implements IModeService {
141140
return null;
142141
}
143142

144-
public getOrCreateModeByFilepathOrFirstLine(filepath: string, firstLine?: string): TPromise<IMode> {
143+
public getOrCreateModeByFilepathOrFirstLine(filepath: string, firstLine?: string): Promise<IMode> {
145144
return this._onReady().then(() => {
146145
const modeId = this.getModeIdByFilepathOrFirstLine(filepath, firstLine);
147146
// Fall back to plain text if no mode was found

src/vs/editor/common/services/modelService.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
import { Event } from 'vs/base/common/event';
77
import { URI } from 'vs/base/common/uri';
8-
import { TPromise } from 'vs/base/common/winjs.base';
98
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
109
import { ITextModel, ITextModelCreationOptions, ITextBufferFactory } from 'vs/editor/common/model';
1110
import { IMode } from 'vs/editor/common/modes';
@@ -15,11 +14,11 @@ export const IModelService = createDecorator<IModelService>('modelService');
1514
export interface IModelService {
1615
_serviceBrand: any;
1716

18-
createModel(value: string | ITextBufferFactory, modeOrPromise: TPromise<IMode> | IMode, resource: URI, isForSimpleWidget?: boolean): ITextModel;
17+
createModel(value: string | ITextBufferFactory, modeOrPromise: Promise<IMode> | IMode, resource: URI, isForSimpleWidget?: boolean): ITextModel;
1918

2019
updateModel(model: ITextModel, value: string | ITextBufferFactory): void;
2120

22-
setMode(model: ITextModel, modeOrPromise: TPromise<IMode> | IMode): void;
21+
setMode(model: ITextModel, modeOrPromise: Promise<IMode> | IMode): void;
2322

2423
destroyModel(resource: URI): void;
2524

src/vs/editor/common/services/modelServiceImpl.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import { Event, Emitter } from 'vs/base/common/event';
99
import { MarkdownString } from 'vs/base/common/htmlContent';
1010
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
1111
import { URI } from 'vs/base/common/uri';
12-
import { TPromise } from 'vs/base/common/winjs.base';
1312
import { IMarker, IMarkerService, MarkerSeverity, MarkerTag } from 'vs/platform/markers/common/markers';
1413
import { Range } from 'vs/editor/common/core/range';
1514
import { TextModel, createTextBuffer } from 'vs/editor/common/model/textModel';
@@ -492,7 +491,7 @@ export class ModelServiceImpl implements IModelService {
492491
return [EditOperation.replaceMove(oldRange, textBuffer.getValueInRange(newRange, EndOfLinePreference.TextDefined))];
493492
}
494493

495-
public createModel(value: string | ITextBufferFactory, modeOrPromise: TPromise<IMode> | IMode, resource: URI, isForSimpleWidget: boolean = false): ITextModel {
494+
public createModel(value: string | ITextBufferFactory, modeOrPromise: Promise<IMode> | IMode, resource: URI, isForSimpleWidget: boolean = false): ITextModel {
496495
let modelData: ModelData;
497496

498497
if (!modeOrPromise || isThenable(modeOrPromise)) {
@@ -512,7 +511,7 @@ export class ModelServiceImpl implements IModelService {
512511
return modelData.model;
513512
}
514513

515-
public setMode(model: ITextModel, modeOrPromise: TPromise<IMode> | IMode): void {
514+
public setMode(model: ITextModel, modeOrPromise: Promise<IMode> | IMode): void {
516515
if (!modeOrPromise) {
517516
return;
518517
}

src/vs/editor/standalone/browser/standaloneEditor.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import { ScrollbarVisibility } from 'vs/base/common/scrollable';
1111
import { IEditorOverrideServices, DynamicStandaloneServices, StaticServices } from 'vs/editor/standalone/browser/standaloneServices';
1212
import { IDisposable } from 'vs/base/common/lifecycle';
1313
import { URI } from 'vs/base/common/uri';
14-
import { TPromise } from 'vs/base/common/winjs.base';
1514
import { OpenerService } from 'vs/editor/browser/services/openerService';
1615
import { IOpenerService } from 'vs/platform/opener/common/opener';
1716
import { Colorizer, IColorizerElementOptions, IColorizerOptions } from 'vs/editor/standalone/browser/colorizer';
@@ -136,7 +135,7 @@ export function createDiffNavigator(diffEditor: IStandaloneDiffEditor, opts?: ID
136135
return new DiffNavigator(diffEditor, opts);
137136
}
138137

139-
function doCreateModel(value: string, mode: TPromise<modes.IMode>, uri?: URI): ITextModel {
138+
function doCreateModel(value: string, mode: Promise<modes.IMode>, uri?: URI): ITextModel {
140139
return StaticServices.modelService.get().createModel(value, mode, uri);
141140
}
142141

src/vs/workbench/browser/parts/editor/editorStatus.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -976,7 +976,7 @@ export class ChangeModeAction extends Action {
976976
}
977977

978978
// Find mode
979-
let mode: TPromise<IMode>;
979+
let mode: Promise<IMode>;
980980
if (pick === autoDetectMode) {
981981
mode = this.modeService.getOrCreateModeByFilepathOrFirstLine(toResource(activeEditor, { supportSideBySide: true }).fsPath, textModel.getLineContent(1));
982982
} else {

src/vs/workbench/common/editor/textEditorModel.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ export abstract class BaseTextEditorModel extends EditorModel implements ITextEd
7777
return TPromise.as(this.doCreateTextEditorModel(value, mode, resource));
7878
}
7979

80-
private doCreateTextEditorModel(value: ITextBufferFactory, mode: TPromise<IMode>, resource: URI): EditorModel {
80+
private doCreateTextEditorModel(value: ITextBufferFactory, mode: Promise<IMode>, resource: URI): EditorModel {
8181
let model = resource && this.modelService.getModel(resource);
8282
if (!model) {
8383
model = this.modelService.createModel(value, mode, resource);
@@ -113,7 +113,7 @@ export abstract class BaseTextEditorModel extends EditorModel implements ITextEd
113113
*
114114
* @param firstLineText optional first line of the text buffer to set the mode on. This can be used to guess a mode from content.
115115
*/
116-
protected getOrCreateMode(modeService: IModeService, modeId: string, firstLineText?: string): TPromise<IMode> {
116+
protected getOrCreateMode(modeService: IModeService, modeId: string, firstLineText?: string): Promise<IMode> {
117117
return modeService.getOrCreateMode(modeId);
118118
}
119119

src/vs/workbench/common/editor/untitledEditorModel.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export class UntitledEditorModel extends BaseTextEditorModel implements IEncodin
5858
this.registerListeners();
5959
}
6060

61-
protected getOrCreateMode(modeService: IModeService, modeId: string, firstLineText?: string): TPromise<IMode> {
61+
protected getOrCreateMode(modeService: IModeService, modeId: string, firstLineText?: string): Promise<IMode> {
6262
if (!modeId || modeId === PLAINTEXT_MODE_ID) {
6363
return modeService.getOrCreateModeByFilepathOrFirstLine(this.resource.fsPath, firstLineText); // lookup mode via resource path if the provided modeId is unspecific
6464
}

src/vs/workbench/parts/files/common/files.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ export class FileOnDiskContentProvider implements ITextModelContentProvider {
189189
} else if (createAsNeeded) {
190190
const fileOnDiskModel = this.modelService.getModel(fileOnDiskResource);
191191

192-
let mode: TPromise<IMode>;
192+
let mode: Promise<IMode>;
193193
if (fileOnDiskModel) {
194194
mode = this.modeService.getOrCreateMode(fileOnDiskModel.getModeId());
195195
} else {

src/vs/workbench/services/mode/common/workbenchModeService.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
import * as nls from 'vs/nls';
77
import * as resources from 'vs/base/common/resources';
8-
import { TPromise } from 'vs/base/common/winjs.base';
98
import * as mime from 'vs/base/common/mime';
109
import { IFilesConfiguration, FILES_ASSOCIATIONS_CONFIG } from 'vs/platform/files/common/files';
1110
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
@@ -91,7 +90,7 @@ export const languagesExtPoint: IExtensionPoint<IRawLanguageExtensionPoint[]> =
9190
export class WorkbenchModeServiceImpl extends ModeServiceImpl {
9291
private _configurationService: IConfigurationService;
9392
private _extensionService: IExtensionService;
94-
private _onReadyPromise: TPromise<boolean>;
93+
private _onReadyPromise: Promise<boolean>;
9594

9695
constructor(
9796
@IExtensionService extensionService: IExtensionService,
@@ -149,12 +148,14 @@ export class WorkbenchModeServiceImpl extends ModeServiceImpl {
149148
});
150149
}
151150

152-
protected _onReady(): TPromise<boolean> {
151+
protected _onReady(): Promise<boolean> {
153152
if (!this._onReadyPromise) {
154-
this._onReadyPromise = this._extensionService.whenInstalledExtensionsRegistered().then(() => {
155-
this.updateMime();
156-
return true;
157-
});
153+
this._onReadyPromise = Promise.resolve(
154+
this._extensionService.whenInstalledExtensionsRegistered().then(() => {
155+
this.updateMime();
156+
return true;
157+
})
158+
);
158159
}
159160

160161
return this._onReadyPromise;

0 commit comments

Comments
 (0)