diff --git a/src/vs/workbench/parts/preferences/browser/preferencesActions.ts b/src/vs/workbench/parts/preferences/browser/preferencesActions.ts index d216c48ec446598e937b024135f352fa19b21b39..7386406e30ffb7f7a3d04b0b4bc4edf25740305e 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesActions.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesActions.ts @@ -6,7 +6,6 @@ import { Action } from 'vs/base/common/actions'; import { dispose, IDisposable } from 'vs/base/common/lifecycle'; import { URI } from 'vs/base/common/uri'; -import { TPromise } from 'vs/base/common/winjs.base'; import { IModelService } from 'vs/editor/common/services/modelService'; import { IModeService } from 'vs/editor/common/services/modeService'; import * as nls from 'vs/nls'; @@ -30,7 +29,7 @@ export class OpenRawDefaultSettingsAction extends Action { super(id, label); } - public run(event?: any): TPromise { + public run(event?: any): Thenable { return this.preferencesService.openRawDefaultSettings(); } } @@ -48,7 +47,7 @@ export class OpenSettings2Action extends Action { super(id, label); } - public run(event?: any): TPromise { + public run(event?: any): Thenable { return this.preferencesService.openSettings(false); } } @@ -66,7 +65,7 @@ export class OpenSettingsAction extends Action { super(id, label); } - public run(event?: any): TPromise { + public run(event?: any): Thenable { return this.preferencesService.openSettings(); } } @@ -84,7 +83,7 @@ export class OpenSettingsJsonAction extends Action { super(id, label); } - public run(event?: any): TPromise { + public run(event?: any): Thenable { return this.preferencesService.openSettings(true); } } @@ -102,7 +101,7 @@ export class OpenGlobalSettingsAction extends Action { super(id, label); } - public run(event?: any): TPromise { + public run(event?: any): Thenable { return this.preferencesService.openGlobalSettings(); } } @@ -120,7 +119,7 @@ export class OpenGlobalKeybindingsAction extends Action { super(id, label); } - public run(event?: any): TPromise { + public run(event?: any): Thenable { return this.preferencesService.openGlobalKeybindingSettings(false); } } @@ -138,7 +137,7 @@ export class OpenGlobalKeybindingsFileAction extends Action { super(id, label); } - public run(event?: any): TPromise { + public run(event?: any): Thenable { return this.preferencesService.openGlobalKeybindingSettings(true); } } @@ -156,7 +155,7 @@ export class OpenDefaultKeybindingsFileAction extends Action { super(id, label); } - public run(event?: any): TPromise { + public run(event?: any): Thenable { return this.preferencesService.openDefaultKeybindingsFile(); } } @@ -183,7 +182,7 @@ export class OpenWorkspaceSettingsAction extends Action { this.enabled = this.workspaceContextService.getWorkbenchState() !== WorkbenchState.EMPTY; } - public run(event?: any): TPromise { + public run(event?: any): Thenable { return this.preferencesService.openWorkspaceSettings(); } @@ -220,7 +219,7 @@ export class OpenFolderSettingsAction extends Action { this.enabled = this.workspaceContextService.getWorkbenchState() === WorkbenchState.WORKSPACE && this.workspaceContextService.getWorkspace().folders.length > 0; } - public run(): TPromise { + public run(): Thenable { return this.commandService.executeCommand(PICK_WORKSPACE_FOLDER_COMMAND_ID) .then(workspaceFolder => { if (workspaceFolder) { @@ -253,7 +252,7 @@ export class ConfigureLanguageBasedSettingsAction extends Action { super(id, label); } - public run(): TPromise { + public run(): Thenable { const languages = this.modeService.getRegisteredLanguageNames(); const picks: IQuickPickItem[] = languages.sort().map((lang, index) => { let description: string = nls.localize('languageDescriptionConfigured', "({0})", this.modeService.getModeIdForLanguageName(lang.toLowerCase())); diff --git a/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts b/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts index 133f129a4c3afb95c6650d369428b2ed370ca7d6..af3aa02e5e541b563f7d8a300dab7316900feaa2 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts @@ -16,7 +16,6 @@ import { ArrayNavigator } from 'vs/base/common/iterator'; import { Disposable, dispose, IDisposable } from 'vs/base/common/lifecycle'; import * as strings from 'vs/base/common/strings'; import { URI } from 'vs/base/common/uri'; -import { TPromise } from 'vs/base/common/winjs.base'; import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; import { EditorExtensionsRegistry, IEditorContributionCtor, registerEditorContribution } from 'vs/editor/browser/editorExtensions'; import { CodeEditorWidget } from 'vs/editor/browser/widget/codeEditorWidget'; @@ -204,7 +203,7 @@ export class PreferencesEditor extends BaseEditor { super.setEditorVisible(visible, group); } - private updateInput(newInput: PreferencesEditorInput, options: EditorOptions, token: CancellationToken): TPromise { + private updateInput(newInput: PreferencesEditorInput, options: EditorOptions, token: CancellationToken): Promise { return this.sideBySidePreferencesWidget.setInput(newInput.details, newInput.master, options, token).then(({ defaultPreferencesRenderer, editablePreferencesRenderer }) => { if (token.isCancellationRequested) { return void 0; @@ -230,12 +229,12 @@ export class PreferencesEditor extends BaseEditor { }); } - private triggerSearch(query: string): TPromise { + private triggerSearch(query: string): Promise { if (query) { - return TPromise.join([ + return Promise.all([ this.localSearchDelayer.trigger(() => this.preferencesRenderers.localFilterPreferences(query).then(() => { })), - this.remoteSearchThrottle.trigger(() => TPromise.wrap(this.progressService.showWhile(this.preferencesRenderers.remoteSearchPreferences(query), 500))) - ]) as TPromise; + this.remoteSearchThrottle.trigger(() => Promise.resolve(this.progressService.showWhile(this.preferencesRenderers.remoteSearchPreferences(query), 500))) + ]).then(() => { }); } else { // When clearing the input, update immediately to clear it this.localSearchDelayer.cancel(); @@ -251,8 +250,8 @@ export class PreferencesEditor extends BaseEditor { if (this.editorService.activeControl !== this) { this.focus(); } - const promise = this.input && this.input.isDirty() ? this.input.save() : TPromise.as(true); - promise.then(value => { + const promise: Thenable = this.input && this.input.isDirty() ? this.input.save() : Promise.resolve(true); + promise.then(() => { if (target === ConfigurationTarget.USER) { this.preferencesService.switchSettings(ConfigurationTarget.USER, this.preferencesService.userSettingsResource, true); } else if (target === ConfigurationTarget.WORKSPACE) { @@ -438,7 +437,7 @@ class PreferencesRenderersController extends Disposable { this._prefsModelsForSearch = new Map(); } - remoteSearchPreferences(query: string, updateCurrentResults?: boolean): TPromise { + remoteSearchPreferences(query: string, updateCurrentResults?: boolean): Promise { if (this.lastFilterResult && this.lastFilterResult.exactMatch) { // Skip and clear remote search query = ''; @@ -467,7 +466,7 @@ class PreferencesRenderersController extends Disposable { }); } - localFilterPreferences(query: string, updateCurrentResults?: boolean): TPromise { + localFilterPreferences(query: string, updateCurrentResults?: boolean): Promise { if (this._settingsNavigator) { this._settingsNavigator.reset(); } @@ -476,10 +475,10 @@ class PreferencesRenderersController extends Disposable { return this.filterOrSearchPreferences(query, this._currentLocalSearchProvider, 'filterResult', nls.localize('filterResult', "Filtered Results"), 0, undefined, updateCurrentResults); } - private filterOrSearchPreferences(query: string, searchProvider: ISearchProvider, groupId: string, groupLabel: string, groupOrder: number, token?: CancellationToken, editableContentOnly?: boolean): TPromise { + private filterOrSearchPreferences(query: string, searchProvider: ISearchProvider, groupId: string, groupLabel: string, groupOrder: number, token?: CancellationToken, editableContentOnly?: boolean): Promise { this._lastQuery = query; - const filterPs: TPromise[] = [this._filterOrSearchPreferences(query, this.editablePreferencesRenderer, searchProvider, groupId, groupLabel, groupOrder, token)]; + const filterPs: Promise[] = [this._filterOrSearchPreferences(query, this.editablePreferencesRenderer, searchProvider, groupId, groupLabel, groupOrder, token)]; if (!editableContentOnly) { filterPs.push( this._filterOrSearchPreferences(query, this.defaultPreferencesRenderer, searchProvider, groupId, groupLabel, groupOrder, token)); @@ -487,7 +486,7 @@ class PreferencesRenderersController extends Disposable { this.searchAllSettingsTargets(query, searchProvider, groupId, groupLabel, groupOrder, token).then(() => null)); } - return TPromise.join(filterPs).then(results => { + return Promise.all(filterPs).then(results => { let [editableFilterResult, defaultFilterResult] = results; if (!defaultFilterResult && editableContentOnly) { @@ -501,7 +500,7 @@ class PreferencesRenderersController extends Disposable { }); } - private searchAllSettingsTargets(query: string, searchProvider: ISearchProvider, groupId: string, groupLabel: string, groupOrder: number, token?: CancellationToken): TPromise { + private searchAllSettingsTargets(query: string, searchProvider: ISearchProvider, groupId: string, groupLabel: string, groupOrder: number, token?: CancellationToken): Promise { const searchPs = [ this.searchSettingsTarget(query, searchProvider, ConfigurationTarget.WORKSPACE, groupId, groupLabel, groupOrder, token), this.searchSettingsTarget(query, searchProvider, ConfigurationTarget.USER, groupId, groupLabel, groupOrder, token) @@ -513,7 +512,7 @@ class PreferencesRenderersController extends Disposable { } - return TPromise.join(searchPs).then(() => { }); + return Promise.all(searchPs).then(() => { }); } private searchSettingsTarget(query: string, provider: ISearchProvider, target: SettingsTarget, groupId: string, groupLabel: string, groupOrder: number, token?: CancellationToken): Promise { @@ -530,7 +529,7 @@ class PreferencesRenderersController extends Disposable { this._onDidFilterResultsCountChange.fire({ target, count }); }, err => { if (!isPromiseCanceledError(err)) { - return TPromise.wrapError(err); + return Promise.reject(err); } return null; @@ -582,9 +581,9 @@ class PreferencesRenderersController extends Disposable { } } - private _filterOrSearchPreferences(filter: string, preferencesRenderer: IPreferencesRenderer, provider: ISearchProvider, groupId: string, groupLabel: string, groupOrder: number, token?: CancellationToken): TPromise { + private _filterOrSearchPreferences(filter: string, preferencesRenderer: IPreferencesRenderer, provider: ISearchProvider, groupId: string, groupLabel: string, groupOrder: number, token?: CancellationToken): Promise { if (!preferencesRenderer) { - return TPromise.wrap(null); + return Promise.resolve(null); } const model = preferencesRenderer.preferencesModel; @@ -594,12 +593,12 @@ class PreferencesRenderersController extends Disposable { }); } - private _filterOrSearchPreferencesModel(filter: string, model: ISettingsEditorModel, provider: ISearchProvider, groupId: string, groupLabel: string, groupOrder: number, token?: CancellationToken): TPromise { - const searchP = provider ? provider.searchModel(model, token) : TPromise.wrap(null); + private _filterOrSearchPreferencesModel(filter: string, model: ISettingsEditorModel, provider: ISearchProvider, groupId: string, groupLabel: string, groupOrder: number, token?: CancellationToken): Promise { + const searchP = provider ? provider.searchModel(model, token) : Promise.resolve(null); return searchP .then(null, err => { if (isPromiseCanceledError(err)) { - return TPromise.wrapError(err); + return Promise.reject(err); } else { /* __GDPR__ "defaultSettings.searchError" : { @@ -845,10 +844,10 @@ class SideBySidePreferencesWidget extends Widget { this._register(focusTracker.onDidFocus(() => this._onFocus.fire())); } - public setInput(defaultPreferencesEditorInput: DefaultPreferencesEditorInput, editablePreferencesEditorInput: EditorInput, options: EditorOptions, token: CancellationToken): TPromise<{ defaultPreferencesRenderer?: IPreferencesRenderer, editablePreferencesRenderer?: IPreferencesRenderer }> { + public setInput(defaultPreferencesEditorInput: DefaultPreferencesEditorInput, editablePreferencesEditorInput: EditorInput, options: EditorOptions, token: CancellationToken): Promise<{ defaultPreferencesRenderer?: IPreferencesRenderer, editablePreferencesRenderer?: IPreferencesRenderer }> { this.getOrCreateEditablePreferencesEditor(editablePreferencesEditorInput); this.settingsTargetsWidget.settingsTarget = this.getSettingsTarget(editablePreferencesEditorInput.getResource()); - return TPromise.join([ + return Promise.all([ this.updateInput(this.defaultPreferencesEditor, defaultPreferencesEditorInput, DefaultSettingsEditorContribution.ID, editablePreferencesEditorInput.getResource(), options, token), this.updateInput(this.editablePreferencesEditor, editablePreferencesEditorInput, SettingsEditorContribution.ID, defaultPreferencesEditorInput.getResource(), options, token) ]) @@ -1076,13 +1075,13 @@ export class DefaultPreferencesEditor extends BaseTextEditor { interface ISettingsEditorContribution extends editorCommon.IEditorContribution { - updatePreferencesRenderer(associatedPreferencesModelUri: URI): TPromise>; + updatePreferencesRenderer(associatedPreferencesModelUri: URI): Thenable>; } abstract class AbstractSettingsEditorContribution extends Disposable implements ISettingsEditorContribution { - private preferencesRendererCreationPromise: TPromise>; + private preferencesRendererCreationPromise: Thenable>; constructor(protected editor: ICodeEditor, @IInstantiationService protected instantiationService: IInstantiationService, @@ -1093,7 +1092,7 @@ abstract class AbstractSettingsEditorContribution extends Disposable implements this._register(this.editor.onDidChangeModel(() => this._onModelChanged())); } - updatePreferencesRenderer(associatedPreferencesModelUri: URI): TPromise> { + updatePreferencesRenderer(associatedPreferencesModelUri: URI): Thenable> { if (!this.preferencesRendererCreationPromise) { this.preferencesRendererCreationPromise = this._createPreferencesRenderer(); } @@ -1103,7 +1102,7 @@ abstract class AbstractSettingsEditorContribution extends Disposable implements .then(changed => changed ? this._updatePreferencesRenderer(associatedPreferencesModelUri) : this.preferencesRendererCreationPromise); } - return TPromise.as(null); + return Promise.resolve(null); } protected _onModelChanged(): void { @@ -1114,13 +1113,13 @@ abstract class AbstractSettingsEditorContribution extends Disposable implements } } - private _hasAssociatedPreferencesModelChanged(associatedPreferencesModelUri: URI): TPromise { + private _hasAssociatedPreferencesModelChanged(associatedPreferencesModelUri: URI): Thenable { return this.preferencesRendererCreationPromise.then(preferencesRenderer => { return !(preferencesRenderer && preferencesRenderer.getAssociatedPreferencesModel() && preferencesRenderer.getAssociatedPreferencesModel().uri.toString() === associatedPreferencesModelUri.toString()); }); } - private _updatePreferencesRenderer(associatedPreferencesModelUri: URI): TPromise> { + private _updatePreferencesRenderer(associatedPreferencesModelUri: URI): Thenable> { return this.preferencesService.createPreferencesEditorModel(associatedPreferencesModelUri) .then(associatedPreferencesEditorModel => { return this.preferencesRendererCreationPromise.then(preferencesRenderer => { @@ -1148,7 +1147,7 @@ abstract class AbstractSettingsEditorContribution extends Disposable implements preferencesRenderer.dispose(); } }); - this.preferencesRendererCreationPromise = TPromise.as(null); + this.preferencesRendererCreationPromise = Promise.resolve(null); } } @@ -1157,7 +1156,7 @@ abstract class AbstractSettingsEditorContribution extends Disposable implements super.dispose(); } - protected abstract _createPreferencesRenderer(): TPromise>; + protected abstract _createPreferencesRenderer(): Thenable>; abstract getId(): string; } @@ -1169,7 +1168,7 @@ class DefaultSettingsEditorContribution extends AbstractSettingsEditorContributi return DefaultSettingsEditorContribution.ID; } - protected _createPreferencesRenderer(): TPromise> { + protected _createPreferencesRenderer(): Thenable> { return this.preferencesService.createPreferencesEditorModel(this.editor.getModel().uri) .then(editorModel => { if (editorModel instanceof DefaultSettingsEditorModel && this.editor.getModel()) { @@ -1199,7 +1198,7 @@ class SettingsEditorContribution extends AbstractSettingsEditorContribution impl return SettingsEditorContribution.ID; } - protected _createPreferencesRenderer(): TPromise> { + protected _createPreferencesRenderer(): Thenable> { if (this.isSettingsModel()) { return this.preferencesService.createPreferencesEditorModel(this.editor.getModel().uri) .then(settingsModel => { diff --git a/src/vs/workbench/parts/preferences/browser/preferencesWidgets.ts b/src/vs/workbench/parts/preferences/browser/preferencesWidgets.ts index badb9d662a1af2545ca1419b5c0ecce593767c2b..97c1dd8b22387dbe24db5c5e2771744897175648 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesWidgets.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesWidgets.ts @@ -14,7 +14,6 @@ import { MarkdownString } from 'vs/base/common/htmlContent'; import { KeyCode } from 'vs/base/common/keyCodes'; import { Disposable, dispose, IDisposable } from 'vs/base/common/lifecycle'; import { URI } from 'vs/base/common/uri'; -import { TPromise } from 'vs/base/common/winjs.base'; import { IMarginData } from 'vs/editor/browser/controller/mouseTarget'; import { ICodeEditor, IEditorMouseEvent, IViewZone, MouseTargetType } from 'vs/editor/browser/editorBrowser'; import { ICursorPositionChangedEvent } from 'vs/editor/common/controller/cursorEvents'; @@ -549,13 +548,13 @@ export class SettingsTargetsWidget extends Widget { } } - public updateTarget(settingsTarget: SettingsTarget): TPromise { + public updateTarget(settingsTarget: SettingsTarget): Promise { const isSameTarget = this.settingsTarget === settingsTarget || settingsTarget instanceof URI && this.settingsTarget instanceof URI && this.settingsTarget.toString() === settingsTarget.toString(); if (!isSameTarget) { this.settingsTarget = settingsTarget; this._onDidTargetChange.fire(this.settingsTarget); } - return TPromise.as(null); + return Promise.resolve(null); } private update(): void { diff --git a/src/vs/workbench/parts/preferences/browser/settingsTree.ts b/src/vs/workbench/parts/preferences/browser/settingsTree.ts index 9319b9172cb2b9b3b44b4b8546c9637e5c05faf5..3c136ead81dcc772559b0dcdd3307bc6fb055cdc 100644 --- a/src/vs/workbench/parts/preferences/browser/settingsTree.ts +++ b/src/vs/workbench/parts/preferences/browser/settingsTree.ts @@ -23,7 +23,6 @@ import { KeyCode } from 'vs/base/common/keyCodes'; import { dispose, IDisposable } from 'vs/base/common/lifecycle'; import { escapeRegExpCharacters, startsWith } from 'vs/base/common/strings'; import { URI } from 'vs/base/common/uri'; -import { TPromise } from 'vs/base/common/winjs.base'; import { IAccessibilityProvider, IDataSource, IFilter, IRenderer as ITreeRenderer, ITree, ITreeConfiguration } from 'vs/base/parts/tree/browser/tree'; import { DefaultTreestyler } from 'vs/base/parts/tree/browser/treeDefaults'; import { Tree } from 'vs/base/parts/tree/browser/treeImpl'; @@ -186,8 +185,8 @@ export class SettingsDataSource implements IDataSource { return false; } - getChildren(tree: ITree, element: SettingsTreeElement): TPromise { - return TPromise.as(this._getChildren(element)); + getChildren(tree: ITree, element: SettingsTreeElement): Promise { + return Promise.resolve(this._getChildren(element)); } private _getChildren(element: SettingsTreeElement): SettingsTreeElement[] { @@ -199,8 +198,8 @@ export class SettingsDataSource implements IDataSource { } } - getParent(tree: ITree, element: SettingsTreeElement): TPromise { - return TPromise.wrap(element && element.parent); + getParent(tree: ITree, element: SettingsTreeElement): Promise { + return Promise.resolve(element && element.parent); } shouldAutoexpand(): boolean { @@ -241,7 +240,7 @@ export class SimplePagedDataSource implements IDataSource { return this.realDataSource.hasChildren(tree, element); } - getChildren(tree: ITree, element: SettingsTreeGroupElement): TPromise { + getChildren(tree: ITree, element: SettingsTreeGroupElement): Thenable { return this.realDataSource.getChildren(tree, element).then(realChildren => { return this._getChildren(realChildren); }); @@ -258,7 +257,7 @@ export class SimplePagedDataSource implements IDataSource { } } - getParent(tree: ITree, element: any): TPromise { + getParent(tree: ITree, element: any): Thenable { return this.realDataSource.getParent(tree, element); } @@ -400,7 +399,7 @@ export class SettingsRenderer implements ITreeRenderer { this._onDidChangeSetting.fire({ key: context.setting.key, value: undefined, type: context.setting.type as SettingValueType }); } - return TPromise.wrap(null); + return Promise.resolve(null); }), new Separator(), this.instantiationService.createInstance(CopySettingIdAction), @@ -1436,12 +1435,12 @@ export class SettingsAccessibilityProvider implements IAccessibilityProvider { } class NonExpandableOrSelectableTree extends Tree { - expand(): TPromise { - return TPromise.wrap(null); + expand(): Promise { + return Promise.resolve(null); } - collapse(): TPromise { - return TPromise.wrap(null); + collapse(): Promise { + return Promise.resolve(null); } public setFocus(element?: any, eventPayload?: any): void { @@ -1624,12 +1623,12 @@ class CopySettingIdAction extends Action { super(CopySettingIdAction.ID, CopySettingIdAction.LABEL); } - run(context: SettingsTreeSettingElement): TPromise { + run(context: SettingsTreeSettingElement): Promise { if (context) { this.clipboardService.writeText(context.setting.key); } - return TPromise.as(null); + return Promise.resolve(null); } } @@ -1643,12 +1642,12 @@ class CopySettingAsJSONAction extends Action { super(CopySettingAsJSONAction.ID, CopySettingAsJSONAction.LABEL); } - run(context: SettingsTreeSettingElement): TPromise { + run(context: SettingsTreeSettingElement): Promise { if (context) { const jsonResult = `"${context.setting.key}": ${JSON.stringify(context.value, undefined, ' ')}`; this.clipboardService.writeText(jsonResult); } - return TPromise.as(null); + return Promise.resolve(null); } } diff --git a/src/vs/workbench/parts/preferences/browser/tocTree.ts b/src/vs/workbench/parts/preferences/browser/tocTree.ts index f281c9d3033ae95aabe0638bd464d7db15ef697f..97fb24420a7972c1e1f50ad26a1c7a51c278b4ea 100644 --- a/src/vs/workbench/parts/preferences/browser/tocTree.ts +++ b/src/vs/workbench/parts/preferences/browser/tocTree.ts @@ -5,7 +5,6 @@ import * as DOM from 'vs/base/browser/dom'; import { ScrollbarVisibility } from 'vs/base/common/scrollable'; -import { TPromise } from 'vs/base/common/winjs.base'; import { IDataSource, IRenderer, ITree, ITreeConfiguration, ITreeOptions } from 'vs/base/parts/tree/browser/tree'; import { DefaultTreestyler } from 'vs/base/parts/tree/browser/treeDefaults'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; @@ -106,8 +105,8 @@ export class TOCDataSource implements IDataSource { return false; } - getChildren(tree: ITree, element: TOCTreeElement): TPromise { - return TPromise.as(this._getChildren(element)); + getChildren(tree: ITree, element: TOCTreeElement): Promise { + return Promise.resolve(this._getChildren(element)); } private _getChildren(element: TOCTreeElement): SettingsTreeElement[] { @@ -115,8 +114,8 @@ export class TOCDataSource implements IDataSource { .filter(child => child instanceof SettingsTreeGroupElement); } - getParent(tree: ITree, element: TOCTreeElement): TPromise { - return TPromise.wrap(element instanceof SettingsTreeGroupElement && element.parent); + getParent(tree: ITree, element: TOCTreeElement): Promise { + return Promise.resolve(element instanceof SettingsTreeGroupElement && element.parent); } } diff --git a/src/vs/workbench/parts/preferences/common/preferences.ts b/src/vs/workbench/parts/preferences/common/preferences.ts index 434b91a29291f6ad0d6a5fc88ad76bed983983fc..dc91043baf2d03b7f07ca93565619c17fe756832 100644 --- a/src/vs/workbench/parts/preferences/common/preferences.ts +++ b/src/vs/workbench/parts/preferences/common/preferences.ts @@ -41,7 +41,7 @@ export interface IPreferencesSearchService { } export interface ISearchProvider { - searchModel(preferencesModel: ISettingsEditorModel, token?: CancellationToken): TPromise; + searchModel(preferencesModel: ISettingsEditorModel, token?: CancellationToken): Promise; } export interface IKeybindingsEditor extends IEditor { diff --git a/src/vs/workbench/parts/preferences/common/preferencesContribution.ts b/src/vs/workbench/parts/preferences/common/preferencesContribution.ts index 7fed426e5ebca29db942b6178488be6a32f1aa34..28d4324c3bda9d881e29de9d72fd9424f42881f1 100644 --- a/src/vs/workbench/parts/preferences/common/preferencesContribution.ts +++ b/src/vs/workbench/parts/preferences/common/preferencesContribution.ts @@ -6,7 +6,6 @@ import { IModelService } from 'vs/editor/common/services/modelService'; import { IModeService } from 'vs/editor/common/services/modeService'; import { URI } from 'vs/base/common/uri'; -import { TPromise } from 'vs/base/common/winjs.base'; import { ITextModel } from 'vs/editor/common/model'; import * as JSONContributionRegistry from 'vs/platform/jsonschemas/common/jsonContributionRegistry'; import { Registry } from 'vs/platform/registry/common/platform'; @@ -109,14 +108,14 @@ export class PreferencesContribution implements IWorkbenchContribution { private start(): void { this.textModelResolverService.registerTextModelContentProvider('vscode', { - provideTextContent: (uri: URI): TPromise => { + provideTextContent: (uri: URI): Thenable => { if (uri.scheme !== 'vscode') { return null; } if (uri.authority === 'schemas') { const schemaModel = this.getSchemaModel(uri); if (schemaModel) { - return TPromise.as(schemaModel); + return Promise.resolve(schemaModel); } } return this.preferencesService.resolveModel(uri); diff --git a/src/vs/workbench/parts/preferences/electron-browser/preferencesSearch.ts b/src/vs/workbench/parts/preferences/electron-browser/preferencesSearch.ts index 9ff55ccdc9cdb3195f81da0c89474b6abe3547b2..76c7f4a101c9b1704be04075e6d81c55b949b94a 100644 --- a/src/vs/workbench/parts/preferences/electron-browser/preferencesSearch.ts +++ b/src/vs/workbench/parts/preferences/electron-browser/preferencesSearch.ts @@ -3,7 +3,6 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { TPromise } from 'vs/base/common/winjs.base'; import { ISettingsEditorModel, ISetting, ISettingsGroup, IFilterMetadata, ISearchResult, IGroupFilter, ISettingMatcher, IScoredResults, ISettingMatch, IRemoteSetting, IExtensionSetting } from 'vs/workbench/services/preferences/common/preferences'; import { IRange } from 'vs/editor/common/core/range'; import { distinct, top } from 'vs/base/common/arrays'; @@ -32,7 +31,7 @@ export interface IEndpointDetails { export class PreferencesSearchService extends Disposable implements IPreferencesSearchService { _serviceBrand: any; - private _installedExtensions: TPromise; + private _installedExtensions: Promise; constructor( @IWorkspaceConfigurationService private configurationService: IWorkspaceConfigurationService, @@ -104,9 +103,9 @@ export class LocalSearchProvider implements ISearchProvider { .trim(); } - searchModel(preferencesModel: ISettingsEditorModel, token?: CancellationToken): TPromise { + searchModel(preferencesModel: ISettingsEditorModel, token?: CancellationToken): Promise { if (!this._filter) { - return TPromise.wrap(null); + return Promise.resolve(null); } let orderedScore = LocalSearchProvider.START_SCORE; // Sort is not stable @@ -126,12 +125,12 @@ export class LocalSearchProvider implements ISearchProvider { const filterMatches = preferencesModel.filterSettings(this._filter, this.getGroupFilter(this._filter), settingMatcher); if (filterMatches[0] && filterMatches[0].score === LocalSearchProvider.EXACT_MATCH_SCORE) { - return TPromise.wrap({ + return Promise.resolve({ filterMatches: filterMatches.slice(0, 1), exactMatch: true }); } else { - return TPromise.wrap({ + return Promise.resolve({ filterMatches }); } @@ -164,19 +163,19 @@ class RemoteSearchProvider implements ISearchProvider { private static readonly MAX_REQUESTS = 10; private static readonly NEW_EXTENSIONS_MIN_SCORE = 1; - private _remoteSearchP: TPromise; + private _remoteSearchP: Promise; - constructor(private options: IRemoteSearchProviderOptions, private installedExtensions: TPromise, + constructor(private options: IRemoteSearchProviderOptions, private installedExtensions: Promise, @IEnvironmentService private environmentService: IEnvironmentService, @IRequestService private requestService: IRequestService, @ILogService private logService: ILogService ) { this._remoteSearchP = this.options.filter ? - TPromise.wrap(this.getSettingsForFilter(this.options.filter)) : - TPromise.wrap(null); + Promise.resolve(this.getSettingsForFilter(this.options.filter)) : + Promise.resolve(null); } - searchModel(preferencesModel: ISettingsEditorModel, token?: CancellationToken): TPromise { + searchModel(preferencesModel: ISettingsEditorModel, token?: CancellationToken): Promise { return this._remoteSearchP.then(remoteResult => { if (!remoteResult) { return null; @@ -239,7 +238,7 @@ class RemoteSearchProvider implements ISearchProvider { } } - return TPromise.join(allRequestDetails.map(details => this.getSettingsFromBing(details))).then(allResponses => { + return Promise.all(allRequestDetails.map(details => this.getSettingsFromBing(details))).then(allResponses => { // Merge all IFilterMetadata const metadata = allResponses[0]; metadata.requestCount = 1; @@ -253,7 +252,7 @@ class RemoteSearchProvider implements ISearchProvider { }); } - private getSettingsFromBing(details: IBingRequestDetails): TPromise { + private getSettingsFromBing(details: IBingRequestDetails): Promise { this.logService.debug(`Searching settings via ${details.url}`); if (details.body) { this.logService.debug(`Body: ${details.body}`); diff --git a/src/vs/workbench/parts/preferences/electron-browser/settingsEditor2.ts b/src/vs/workbench/parts/preferences/electron-browser/settingsEditor2.ts index 504ebc980b8d63bac50fb74315926d19f4259b61..24041d0f8363ba7df0dc52c68e41ba36bc7833cf 100644 --- a/src/vs/workbench/parts/preferences/electron-browser/settingsEditor2.ts +++ b/src/vs/workbench/parts/preferences/electron-browser/settingsEditor2.ts @@ -14,7 +14,6 @@ import { CancellationToken, CancellationTokenSource } from 'vs/base/common/cance import * as collections from 'vs/base/common/collections'; import { getErrorMessage, isPromiseCanceledError } from 'vs/base/common/errors'; import { URI } from 'vs/base/common/uri'; -import { TPromise } from 'vs/base/common/winjs.base'; import { Tree } from 'vs/base/parts/tree/browser/treeImpl'; import { collapseAll, expandAll } from 'vs/base/parts/tree/browser/treeUtils'; import 'vs/css!./media/settingsEditor2'; @@ -211,7 +210,7 @@ export class SettingsEditor2 extends BaseEditor { } this._setOptions(options); - this.render(token); + return this.render(token); }) .then(() => { // Init TOC selection @@ -471,7 +470,7 @@ export class SettingsEditor2 extends BaseEditor { } } - private openSettingsFile(query?: string): TPromise { + private openSettingsFile(query?: string): Thenable { const currentSettingsTarget = this.settingsTargetsWidget.settingsTarget; const options: ISettingsEditorOptions = { query }; @@ -592,7 +591,7 @@ export class SettingsEditor2 extends BaseEditor { } if (element && (!e.payload || !e.payload.fromScroll)) { - let refreshP = TPromise.wrap(null); + let refreshP: Thenable = Promise.resolve(null); if (this.settingsTreeDataSource.pageTo(element.index, true)) { refreshP = this.renderTree(); } @@ -724,7 +723,7 @@ export class SettingsEditor2 extends BaseEditor { } } - private updateChangedSetting(key: string, value: any): TPromise { + private updateChangedSetting(key: string, value: any): Thenable { // ConfigurationService displays the error if this fails. // Force a render afterwards because onDidConfigurationUpdate doesn't fire if the update doesn't result in an effective setting value change const settingsTarget = this.settingsTargetsWidget.settingsTarget; @@ -815,7 +814,7 @@ export class SettingsEditor2 extends BaseEditor { this.telemetryService.publicLog('settingsEditor.settingModified', data); } - private render(token: CancellationToken): TPromise { + private render(token: CancellationToken): Thenable { if (this.input) { return this.input.resolve() .then((model: Settings2EditorModel) => { @@ -828,7 +827,7 @@ export class SettingsEditor2 extends BaseEditor { return this.onConfigUpdate(); }); } - return TPromise.as(null); + return Promise.resolve(null); } private onSearchModeToggled(): void { @@ -863,7 +862,7 @@ export class SettingsEditor2 extends BaseEditor { }); } - private onConfigUpdate(keys?: string[], forceRefresh = false): TPromise { + private onConfigUpdate(keys?: string[], forceRefresh = false): Thenable { if (keys && this.settingsTreeModel) { return this.updateElementsByKey(keys); } @@ -916,10 +915,10 @@ export class SettingsEditor2 extends BaseEditor { } } - return TPromise.wrap(null); + return Promise.resolve(null); } - private updateElementsByKey(keys: string[]): TPromise { + private updateElementsByKey(keys: string[]): Thenable { if (keys.length) { if (this.searchResultModel) { keys.forEach(key => this.searchResultModel.updateElementsByName(key)); @@ -929,7 +928,7 @@ export class SettingsEditor2 extends BaseEditor { keys.forEach(key => this.settingsTreeModel.updateElementsByName(key)); } - return TPromise.join( + return Promise.all( keys.map(key => this.renderTree(key))) .then(() => { }); } else { @@ -943,10 +942,10 @@ export class SettingsEditor2 extends BaseEditor { null; } - private renderTree(key?: string, force = false): TPromise { + private renderTree(key?: string, force = false): Thenable { if (!force && key && this.scheduledRefreshes.has(key)) { this.updateModifiedLabelForKey(key); - return TPromise.wrap(null); + return Promise.resolve(null); } // If a setting control is currently focused, schedule a refresh for later @@ -960,24 +959,24 @@ export class SettingsEditor2 extends BaseEditor { this.updateModifiedLabelForKey(key); this.scheduleRefresh(focusedSetting, key); - return TPromise.wrap(null); + return Promise.resolve(null); } } else { this.scheduleRefresh(focusedSetting); - return TPromise.wrap(null); + return Promise.resolve(null); } } - let refreshP: TPromise; + let refreshP: Thenable; if (key) { const elements = this.currentSettingsModel.getElementsByName(key); if (elements && elements.length) { // TODO https://github.com/Microsoft/vscode/issues/57360 - // refreshP = TPromise.join(elements.map(e => this.settingsTree.refresh(e))); + // refreshP = Promise.join(elements.map(e => this.settingsTree.refresh(e))); refreshP = this.settingsTree.refresh(); } else { // Refresh requested for a key that we don't know about - return TPromise.wrap(null); + return Promise.resolve(null); } } else { refreshP = this.settingsTree.refresh(); @@ -1019,7 +1018,7 @@ export class SettingsEditor2 extends BaseEditor { return match && match[1]; } - private triggerSearch(query: string): TPromise { + private triggerSearch(query: string): Thenable { this.viewState.tagFilters = new Set(); if (query) { const parsedQuery = parseQuery(query); @@ -1126,7 +1125,7 @@ export class SettingsEditor2 extends BaseEditor { this.telemetryService.publicLog('settingsEditor.filter', data); } - private triggerFilterPreferences(query: string): TPromise { + private triggerFilterPreferences(query: string): Thenable { if (this.searchInProgress) { this.searchInProgress.cancel(); this.searchInProgress = null; @@ -1141,26 +1140,26 @@ export class SettingsEditor2 extends BaseEditor { this.remoteSearchThrottle.trigger(() => { return searchInProgress && !searchInProgress.token.isCancellationRequested ? this.remoteSearchPreferences(query, this.searchInProgress.token) : - TPromise.wrap(null); + Promise.resolve(null); }); } }); } else { - return TPromise.wrap(null); + return Promise.resolve(null); } }); } - private localFilterPreferences(query: string, token?: CancellationToken): TPromise { + private localFilterPreferences(query: string, token?: CancellationToken): Thenable { const localSearchProvider = this.preferencesSearchService.getLocalSearchProvider(query); return this.filterOrSearchPreferences(query, SearchResultIdx.Local, localSearchProvider, token); } - private remoteSearchPreferences(query: string, token?: CancellationToken): TPromise { + private remoteSearchPreferences(query: string, token?: CancellationToken): Thenable { const remoteSearchProvider = this.preferencesSearchService.getRemoteSearchProvider(query); const newExtSearchProvider = this.preferencesSearchService.getRemoteSearchProvider(query, true); - return TPromise.join([ + return Promise.all([ this.filterOrSearchPreferences(query, SearchResultIdx.Remote, remoteSearchProvider, token), this.filterOrSearchPreferences(query, SearchResultIdx.NewExtensions, newExtSearchProvider, token) ]).then(() => { @@ -1168,7 +1167,7 @@ export class SettingsEditor2 extends BaseEditor { }); } - private filterOrSearchPreferences(query: string, type: SearchResultIdx, searchProvider: ISearchProvider, token?: CancellationToken): TPromise { + private filterOrSearchPreferences(query: string, type: SearchResultIdx, searchProvider: ISearchProvider, token?: CancellationToken): Thenable { return this._filterOrSearchPreferencesModel(query, this.defaultSettingsEditorModel, searchProvider, token).then(result => { if (token && token.isCancellationRequested) { // Handle cancellation like this because cancellation is lost inside the search provider due to async/await @@ -1215,12 +1214,12 @@ export class SettingsEditor2 extends BaseEditor { } } - private _filterOrSearchPreferencesModel(filter: string, model: ISettingsEditorModel, provider: ISearchProvider, token?: CancellationToken): TPromise { - const searchP = provider ? provider.searchModel(model, token) : TPromise.wrap(null); + private _filterOrSearchPreferencesModel(filter: string, model: ISettingsEditorModel, provider: ISearchProvider, token?: CancellationToken): Thenable { + const searchP = provider ? provider.searchModel(model, token) : Promise.resolve(null); return searchP .then(null, err => { if (isPromiseCanceledError(err)) { - return TPromise.wrapError(err); + return Promise.reject(err); } else { /* __GDPR__ "settingsEditor.searchError" : { @@ -1284,8 +1283,8 @@ class FilterByTagAction extends Action { super(FilterByTagAction.ID, label, 'toggle-filter-tag'); } - run(): TPromise { + run(): Thenable { this.settingsEditor.focusSearch(this.tag === MODIFIED_SETTING_TAG ? `@${this.tag} ` : `@tag:${this.tag} `, false); - return TPromise.as(null); + return Promise.resolve(null); } } diff --git a/src/vs/workbench/services/preferences/browser/preferencesService.ts b/src/vs/workbench/services/preferences/browser/preferencesService.ts index d8f3b152fa87d8642feba16afa2e0a0b698412f4..f79621db7f8e3ea17ddf408598ebf49653259272 100644 --- a/src/vs/workbench/services/preferences/browser/preferencesService.ts +++ b/src/vs/workbench/services/preferences/browser/preferencesService.ts @@ -10,7 +10,6 @@ import * as network from 'vs/base/common/network'; import { assign } from 'vs/base/common/objects'; import * as strings from 'vs/base/common/strings'; import { URI } from 'vs/base/common/uri'; -import { TPromise } from 'vs/base/common/winjs.base'; import { getCodeEditor, ICodeEditor } from 'vs/editor/browser/editorBrowser'; import { EditOperation } from 'vs/editor/common/core/editOperation'; import { IPosition, Position } from 'vs/editor/common/core/position'; @@ -104,7 +103,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic return this.getEditableSettingsURI(ConfigurationTarget.WORKSPACE_FOLDER, resource); } - resolveModel(uri: URI): TPromise { + resolveModel(uri: URI): Thenable { if (this.isDefaultSettingsResource(uri)) { const target = this.getConfigurationTargetFromDefaultSettingsResource(uri); @@ -131,27 +130,27 @@ export class PreferencesService extends Disposable implements IPreferencesServic this.modelService.updateModel(model, defaultSettings.getContent(true)); } - return TPromise.as(model); + return Promise.resolve(model); } if (this.defaultSettingsRawResource.toString() === uri.toString()) { let defaultSettings: DefaultSettings = this.getDefaultSettings(ConfigurationTarget.USER); const languageSelection = this.modeService.create('jsonc'); const model = this._register(this.modelService.createModel(defaultSettings.raw, languageSelection, uri)); - return TPromise.as(model); + return Promise.resolve(model); } if (this.defaultKeybindingsResource.toString() === uri.toString()) { const defaultKeybindingsEditorModel = this.instantiationService.createInstance(DefaultKeybindingsEditorModel, uri); const languageSelection = this.modeService.create('jsonc'); const model = this._register(this.modelService.createModel(defaultKeybindingsEditorModel.content, languageSelection, uri)); - return TPromise.as(model); + return Promise.resolve(model); } - return TPromise.as(null); + return Promise.resolve(null); } - createPreferencesEditorModel(uri: URI): TPromise> { + createPreferencesEditorModel(uri: URI): Thenable> { if (this.isDefaultSettingsResource(uri)) { return this.createDefaultSettingsEditorModel(uri); } @@ -169,18 +168,18 @@ export class PreferencesService extends Disposable implements IPreferencesServic return this.createEditableSettingsEditorModel(ConfigurationTarget.WORKSPACE_FOLDER, uri); } - return TPromise.wrap>(null); + return Promise.resolve>(null); } - openRawDefaultSettings(): TPromise { + openRawDefaultSettings(): Thenable { return this.editorService.openEditor({ resource: this.defaultSettingsRawResource }); } - openRawUserSettings(): TPromise { + openRawUserSettings(): Thenable { return this.editorService.openEditor({ resource: this.userSettingsResource }); } - openSettings(jsonEditor?: boolean): TPromise { + openSettings(jsonEditor?: boolean): Thenable { jsonEditor = typeof jsonEditor === 'undefined' ? this.configurationService.getValue('workbench.settings.editor') === 'json' : jsonEditor; @@ -195,13 +194,13 @@ export class PreferencesService extends Disposable implements IPreferencesServic return this.openOrSwitchSettings(target, resource); } - private openSettings2(): TPromise { + private openSettings2(): Thenable { const input = this.settingsEditor2Input; return this.editorGroupService.activeGroup.openEditor(input) .then(() => this.editorGroupService.activeGroup.activeControl); } - openGlobalSettings(jsonEditor?: boolean, options?: ISettingsEditorOptions, group?: IEditorGroup): TPromise { + openGlobalSettings(jsonEditor?: boolean, options?: ISettingsEditorOptions, group?: IEditorGroup): Thenable { jsonEditor = typeof jsonEditor === 'undefined' ? this.configurationService.getValue('workbench.settings.editor') === 'json' : jsonEditor; @@ -211,14 +210,14 @@ export class PreferencesService extends Disposable implements IPreferencesServic this.openOrSwitchSettings2(ConfigurationTarget.USER, undefined, options, group); } - openWorkspaceSettings(jsonEditor?: boolean, options?: ISettingsEditorOptions, group?: IEditorGroup): TPromise { + openWorkspaceSettings(jsonEditor?: boolean, options?: ISettingsEditorOptions, group?: IEditorGroup): Thenable { jsonEditor = typeof jsonEditor === 'undefined' ? this.configurationService.getValue('workbench.settings.editor') === 'json' : jsonEditor; if (this.contextService.getWorkbenchState() === WorkbenchState.EMPTY) { this.notificationService.info(nls.localize('openFolderFirst', "Open a folder first to create workspace settings")); - return TPromise.as(null); + return Promise.resolve(null); } return jsonEditor ? @@ -226,7 +225,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic this.openOrSwitchSettings2(ConfigurationTarget.WORKSPACE, undefined, options, group); } - openFolderSettings(folder: URI, jsonEditor?: boolean, options?: ISettingsEditorOptions, group?: IEditorGroup): TPromise { + openFolderSettings(folder: URI, jsonEditor?: boolean, options?: ISettingsEditorOptions, group?: IEditorGroup): Thenable { jsonEditor = typeof jsonEditor === 'undefined' ? this.configurationService.getValue('workbench.settings.editor') === 'json' : jsonEditor; @@ -236,7 +235,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic this.openOrSwitchSettings2(ConfigurationTarget.WORKSPACE_FOLDER, folder, options, group); } - switchSettings(target: ConfigurationTarget, resource: URI, jsonEditor?: boolean): TPromise { + switchSettings(target: ConfigurationTarget, resource: URI, jsonEditor?: boolean): Thenable { if (!jsonEditor) { return this.doOpenSettings2(target, resource).then(() => null); } @@ -249,7 +248,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic } } - openGlobalKeybindingSettings(textual: boolean): TPromise { + openGlobalKeybindingSettings(textual: boolean): Thenable { /* __GDPR__ "openKeybindings" : { "textual" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true } @@ -266,7 +265,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic if (openDefaultKeybindings) { const activeEditorGroup = this.editorGroupService.activeGroup; const sideEditorGroup = this.editorGroupService.addGroup(activeEditorGroup.id, GroupDirection.RIGHT); - return TPromise.join([ + return Promise.all([ this.editorService.openEditor({ resource: this.defaultKeybindingsResource, options: { pinned: true, preserveFocus: true }, label: nls.localize('defaultKeybindings', "Default Keybindings"), description: '' }), this.editorService.openEditor({ resource: editableKeybindings, options: { pinned: true } }, sideEditorGroup.id) ]).then(editors => void 0); @@ -279,7 +278,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic return this.editorService.openEditor(this.instantiationService.createInstance(KeybindingsEditorInput), { pinned: true }).then(() => null); } - openDefaultKeybindingsFile(): TPromise { + openDefaultKeybindingsFile(): Thenable { return this.editorService.openEditor({ resource: this.defaultKeybindingsResource, label: nls.localize('defaultKeybindings', "Default Keybindings") }); } @@ -301,7 +300,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic })); } - private openOrSwitchSettings(configurationTarget: ConfigurationTarget, resource: URI, options?: ISettingsEditorOptions, group: IEditorGroup = this.editorGroupService.activeGroup): TPromise { + private openOrSwitchSettings(configurationTarget: ConfigurationTarget, resource: URI, options?: ISettingsEditorOptions, group: IEditorGroup = this.editorGroupService.activeGroup): Thenable { const editorInput = this.getActiveSettingsEditorInput(group); if (editorInput && editorInput.master.getResource().fsPath !== resource.fsPath) { return this.doSwitchSettings(configurationTarget, resource, editorInput, group, options); @@ -309,11 +308,11 @@ export class PreferencesService extends Disposable implements IPreferencesServic return this.doOpenSettings(configurationTarget, resource, options, group); } - private openOrSwitchSettings2(configurationTarget: ConfigurationTarget, folderUri?: URI, options?: ISettingsEditorOptions, group: IEditorGroup = this.editorGroupService.activeGroup): TPromise { + private openOrSwitchSettings2(configurationTarget: ConfigurationTarget, folderUri?: URI, options?: ISettingsEditorOptions, group: IEditorGroup = this.editorGroupService.activeGroup): Thenable { return this.doOpenSettings2(configurationTarget, folderUri, options, group); } - private doOpenSettings(configurationTarget: ConfigurationTarget, resource: URI, options?: ISettingsEditorOptions, group?: IEditorGroup): TPromise { + private doOpenSettings(configurationTarget: ConfigurationTarget, resource: URI, options?: ISettingsEditorOptions, group?: IEditorGroup): Thenable { const openDefaultSettings = !!this.configurationService.getValue(DEFAULT_SETTINGS_EDITOR_SETTING); return this.getOrCreateEditableSettingsEditorInput(configurationTarget, resource) .then(editableSettingsEditorInput => { @@ -337,7 +336,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic return this.instantiationService.createInstance(Settings2EditorModel, this.getDefaultSettings(ConfigurationTarget.USER)); } - private doOpenSettings2(target: ConfigurationTarget, folderUri: URI | undefined, options?: IEditorOptions, group?: IEditorGroup): TPromise { + private doOpenSettings2(target: ConfigurationTarget, folderUri: URI | undefined, options?: IEditorOptions, group?: IEditorGroup): Thenable { const input = this.settingsEditor2Input; const settingsOptions: ISettingsEditorOptions = { ...options, @@ -348,7 +347,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic return this.editorService.openEditor(input, SettingsEditorOptions.create(settingsOptions), group); } - private doSwitchSettings(target: ConfigurationTarget, resource: URI, input: PreferencesEditorInput, group: IEditorGroup, options?: ISettingsEditorOptions): TPromise { + private doSwitchSettings(target: ConfigurationTarget, resource: URI, input: PreferencesEditorInput, group: IEditorGroup, options?: ISettingsEditorOptions): Thenable { return this.getOrCreateEditableSettingsEditorInput(target, this.getEditableSettingsURI(target, resource)) .then(toInput => { return group.openEditor(input).then(() => { @@ -423,12 +422,12 @@ export class PreferencesService extends Disposable implements IPreferencesServic return target === ConfigurationTarget.WORKSPACE_FOLDER ? nls.localize('folderSettingsName', "{0} (Folder Settings)", name) : name; } - private getOrCreateEditableSettingsEditorInput(target: ConfigurationTarget, resource: URI): TPromise { + private getOrCreateEditableSettingsEditorInput(target: ConfigurationTarget, resource: URI): Thenable { return this.createSettingsIfNotExists(target, resource) .then(() => this.editorService.createInput({ resource })); } - private createEditableSettingsEditorModel(configurationTarget: ConfigurationTarget, resource: URI): TPromise { + private createEditableSettingsEditorModel(configurationTarget: ConfigurationTarget, resource: URI): Thenable { const settingsUri = this.getEditableSettingsURI(configurationTarget, resource); if (settingsUri) { const workspace = this.contextService.getWorkspace(); @@ -439,10 +438,10 @@ export class PreferencesService extends Disposable implements IPreferencesServic return this.textModelResolverService.createModelReference(settingsUri) .then(reference => this.instantiationService.createInstance(SettingsEditorModel, reference, configurationTarget)); } - return TPromise.wrap(null); + return Promise.resolve(null); } - private createDefaultSettingsEditorModel(defaultSettingsUri: URI): TPromise { + private createDefaultSettingsEditorModel(defaultSettingsUri: URI): Thenable { return this.textModelResolverService.createModelReference(defaultSettingsUri) .then(reference => { const target = this.getConfigurationTargetFromDefaultSettingsResource(defaultSettingsUri); @@ -486,7 +485,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic return null; } - private createSettingsIfNotExists(target: ConfigurationTarget, resource: URI): TPromise { + private createSettingsIfNotExists(target: ConfigurationTarget, resource: URI): Thenable { if (this.contextService.getWorkbenchState() === WorkbenchState.WORKSPACE && target === ConfigurationTarget.WORKSPACE) { return this.fileService.resolveContent(this.contextService.getWorkspace().configuration) .then(content => { @@ -499,15 +498,15 @@ export class PreferencesService extends Disposable implements IPreferencesServic return this.createIfNotExists(resource, emptyEditableSettingsContent).then(() => { }); } - private createIfNotExists(resource: URI, contents: string): TPromise { + private createIfNotExists(resource: URI, contents: string): Thenable { return this.fileService.resolveContent(resource, { acceptTextOnly: true }).then(null, error => { if ((error).fileOperationResult === FileOperationResult.FILE_NOT_FOUND) { return this.fileService.updateContent(resource, contents).then(null, error => { - return TPromise.wrapError(new Error(nls.localize('fail.createSettings', "Unable to create '{0}' ({1}).", this.labelService.getUriLabel(resource, { relative: true }), error))); + return Promise.reject(new Error(nls.localize('fail.createSettings', "Unable to create '{0}' ({1}).", this.labelService.getUriLabel(resource, { relative: true }), error))); }); } - return TPromise.wrapError(error); + return Promise.reject(error); }); } @@ -527,7 +526,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic ]; } - private getPosition(language: string, settingsModel: IPreferencesEditorModel, codeEditor: ICodeEditor): TPromise { + private getPosition(language: string, settingsModel: IPreferencesEditorModel, codeEditor: ICodeEditor): Thenable { const languageKey = `[${language}]`; let setting = settingsModel.getPreference(languageKey); const model = codeEditor.getModel(); @@ -544,9 +543,9 @@ export class PreferencesService extends Disposable implements IPreferencesServic } const editOperation = EditOperation.insert(new Position(lastSetting.valueRange.endLineNumber, lastSetting.valueRange.endColumn), content); model.pushEditOperations([], [editOperation], () => []); - return TPromise.as({ lineNumber: lastSetting.valueRange.endLineNumber + 1, column: model.getLineMaxColumn(lastSetting.valueRange.endLineNumber + 1) }); + return Promise.resolve({ lineNumber: lastSetting.valueRange.endLineNumber + 1, column: model.getLineMaxColumn(lastSetting.valueRange.endLineNumber + 1) }); } - return TPromise.as({ lineNumber: setting.valueRange.startLineNumber, column: setting.valueRange.startColumn + 1 }); + return Promise.resolve({ lineNumber: setting.valueRange.startLineNumber, column: setting.valueRange.startColumn + 1 }); } return this.configurationService.updateValue(languageKey, {}, ConfigurationTarget.USER) .then(() => { diff --git a/src/vs/workbench/services/preferences/common/preferences.ts b/src/vs/workbench/services/preferences/common/preferences.ts index 80453e0f3cf7f39627b2b00b597831f5bc159134..e816d31660120981e528a8ef2698637e3c64f2e4 100644 --- a/src/vs/workbench/services/preferences/common/preferences.ts +++ b/src/vs/workbench/services/preferences/common/preferences.ts @@ -3,23 +3,22 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ +import { IStringDictionary } from 'vs/base/common/collections'; +import { Event } from 'vs/base/common/event'; +import { join } from 'vs/base/common/paths'; import { URI } from 'vs/base/common/uri'; -import { TPromise } from 'vs/base/common/winjs.base'; -import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; -import { IEditorOptions } from 'vs/platform/editor/common/editor'; -import { IEditor, EditorOptions } from 'vs/workbench/common/editor'; -import { ITextModel } from 'vs/editor/common/model'; import { IRange } from 'vs/editor/common/core/range'; -import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; -import { join } from 'vs/base/common/paths'; +import { ITextModel } from 'vs/editor/common/model'; +import { localize } from 'vs/nls'; import { ConfigurationTarget } from 'vs/platform/configuration/common/configuration'; -import { Event } from 'vs/base/common/event'; -import { IStringDictionary } from 'vs/base/common/collections'; +import { ConfigurationScope } from 'vs/platform/configuration/common/configurationRegistry'; +import { IEditorOptions } from 'vs/platform/editor/common/editor'; import { ILocalExtension } from 'vs/platform/extensionManagement/common/extensionManagement'; -import { localize } from 'vs/nls'; +import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; +import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; +import { EditorOptions, IEditor } from 'vs/workbench/common/editor'; import { IEditorGroup } from 'vs/workbench/services/group/common/editorGroupsService'; import { Settings2EditorModel } from 'vs/workbench/services/preferences/common/preferencesModels'; -import { ConfigurationScope } from 'vs/platform/configuration/common/configurationRegistry'; export enum SettingValueType { Null = 'null', @@ -202,18 +201,18 @@ export interface IPreferencesService { workspaceSettingsResource: URI; getFolderSettingsResource(resource: URI): URI; - resolveModel(uri: URI): TPromise; - createPreferencesEditorModel(uri: URI): TPromise>; + resolveModel(uri: URI): Thenable; + createPreferencesEditorModel(uri: URI): Thenable>; createSettings2EditorModel(): Settings2EditorModel; // TODO - openRawDefaultSettings(): TPromise; - openSettings(jsonEditor?: boolean): TPromise; - openGlobalSettings(jsonEditor?: boolean, options?: ISettingsEditorOptions, group?: IEditorGroup): TPromise; - openWorkspaceSettings(jsonEditor?: boolean, options?: ISettingsEditorOptions, group?: IEditorGroup): TPromise; - openFolderSettings(folder: URI, jsonEditor?: boolean, options?: ISettingsEditorOptions, group?: IEditorGroup): TPromise; - switchSettings(target: ConfigurationTarget, resource: URI, jsonEditor?: boolean): TPromise; - openGlobalKeybindingSettings(textual: boolean): TPromise; - openDefaultKeybindingsFile(): TPromise; + openRawDefaultSettings(): Thenable; + openSettings(jsonEditor?: boolean): Thenable; + openGlobalSettings(jsonEditor?: boolean, options?: ISettingsEditorOptions, group?: IEditorGroup): Thenable; + openWorkspaceSettings(jsonEditor?: boolean, options?: ISettingsEditorOptions, group?: IEditorGroup): Thenable; + openFolderSettings(folder: URI, jsonEditor?: boolean, options?: ISettingsEditorOptions, group?: IEditorGroup): Thenable; + switchSettings(target: ConfigurationTarget, resource: URI, jsonEditor?: boolean): Thenable; + openGlobalKeybindingSettings(textual: boolean): Thenable; + openDefaultKeybindingsFile(): Thenable; configureSettingsForLanguage(language: string): void; } diff --git a/src/vs/workbench/services/preferences/common/preferencesEditorInput.ts b/src/vs/workbench/services/preferences/common/preferencesEditorInput.ts index 4bd8f3110af1ca1e9a15806e4f4cc852502e51a7..4934e25e233372b7604a2833cbc954a556356d1b 100644 --- a/src/vs/workbench/services/preferences/common/preferencesEditorInput.ts +++ b/src/vs/workbench/services/preferences/common/preferencesEditorInput.ts @@ -5,7 +5,6 @@ import { OS } from 'vs/base/common/platform'; import { URI } from 'vs/base/common/uri'; -import { TPromise } from 'vs/base/common/winjs.base'; import { ITextModelService } from 'vs/editor/common/services/resolverService'; import * as nls from 'vs/nls'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; @@ -70,8 +69,8 @@ export class KeybindingsEditorInput extends EditorInput { return nls.localize('keybindingsInputName', "Keyboard Shortcuts"); } - resolve(): TPromise { - return TPromise.as(this.keybindingsModel); + resolve(): Promise { + return Promise.resolve(this.keybindingsModel); } matches(otherInput: any): boolean { @@ -104,8 +103,8 @@ export class SettingsEditor2Input extends EditorInput { return nls.localize('settingsEditor2InputName', "Settings"); } - resolve(): TPromise { - return TPromise.as(this._settingsModel); + resolve(): Promise { + return Promise.resolve(this._settingsModel); } public getResource(): URI {