diff --git a/src/vs/editor/common/modes.ts b/src/vs/editor/common/modes.ts index 74532bee31b..1d129421361 100644 --- a/src/vs/editor/common/modes.ts +++ b/src/vs/editor/common/modes.ts @@ -917,14 +917,14 @@ export interface WorkspaceEdit { rejectReason?: string; // TODO@joh, move to rename } -export interface RenameInitialValue { +export interface RenameInformation { range: IRange; text?: string; } export interface RenameProvider { provideRenameEdits(model: model.ITextModel, position: Position, newName: string, token: CancellationToken): WorkspaceEdit | Thenable; - resolveInitialRenameValue?(model: model.ITextModel, position: Position, token: CancellationToken): RenameInitialValue | Thenable; + resolveInitialRenameValue?(model: model.ITextModel, position: Position, token: CancellationToken): RenameInformation | Thenable; } diff --git a/src/vs/editor/contrib/rename/rename.ts b/src/vs/editor/contrib/rename/rename.ts index 0f301a6d09f..f9fadd89788 100644 --- a/src/vs/editor/contrib/rename/rename.ts +++ b/src/vs/editor/contrib/rename/rename.ts @@ -23,7 +23,7 @@ import { ITextModelService } from 'vs/editor/common/services/resolverService'; import { optional } from 'vs/platform/instantiation/common/instantiation'; import { IThemeService } from 'vs/platform/theme/common/themeService'; import { sequence, asWinJsPromise } from 'vs/base/common/async'; -import { WorkspaceEdit, RenameProviderRegistry, RenameInitialValue } from 'vs/editor/common/modes'; +import { WorkspaceEdit, RenameProviderRegistry, RenameInformation } from 'vs/editor/common/modes'; import { Position } from 'vs/editor/common/core/position'; import { alert } from 'vs/base/browser/ui/aria/aria'; import { Range } from 'vs/editor/common/core/range'; @@ -81,7 +81,7 @@ export function rename(model: ITextModel, position: Position, newName: string): // TODO@joh // merge this into above function to make we always // use the same provider for resolving and renamin -function resolveInitialRenameValue(model: ITextModel, position: Position): TPromise { +function resolveInitialRenameValue(model: ITextModel, position: Position): TPromise { const [first] = RenameProviderRegistry.ordered(model); if (!first || typeof first.resolveInitialRenameValue !== 'function') { return TPromise.as(null); @@ -91,7 +91,7 @@ function resolveInitialRenameValue(model: ITextModel, position: Position): TProm return !result ? undefined : result; }, err => { onUnexpectedExternalError(err); - return TPromise.wrapError(new Error('provider failed')); + return TPromise.wrapError(new Error('provider failed')); }); } diff --git a/src/vs/monaco.d.ts b/src/vs/monaco.d.ts index c3566d28a4f..7c7b24998df 100644 --- a/src/vs/monaco.d.ts +++ b/src/vs/monaco.d.ts @@ -4964,14 +4964,14 @@ declare module monaco.languages { rejectReason?: string; } - export interface RenameInitialValue { + export interface RenameInformation { range: IRange; text?: string; } export interface RenameProvider { provideRenameEdits(model: editor.ITextModel, position: Position, newName: string, token: CancellationToken): WorkspaceEdit | Thenable; - resolveInitialRenameValue?(model: editor.ITextModel, position: Position, token: CancellationToken): RenameInitialValue | Thenable; + resolveInitialRenameValue?(model: editor.ITextModel, position: Position, token: CancellationToken): RenameInformation | Thenable; } export interface Command { diff --git a/src/vs/workbench/api/electron-browser/mainThreadLanguageFeatures.ts b/src/vs/workbench/api/electron-browser/mainThreadLanguageFeatures.ts index 3ca33d51e0a..28358d3f9ad 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadLanguageFeatures.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadLanguageFeatures.ts @@ -257,7 +257,7 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha return wireCancellationToken(token, this._proxy.$provideRenameEdits(handle, model.uri, position, newName)).then(reviveWorkspaceEditDto); }, resolveInitialRenameValue: supportsResolveInitialValues - ? (model: ITextModel, position: EditorPosition, token: CancellationToken): Thenable => wireCancellationToken(token, this._proxy.$resolveInitialRenameValue(handle, model.uri, position)) + ? (model: ITextModel, position: EditorPosition, token: CancellationToken): Thenable => wireCancellationToken(token, this._proxy.$resolveInitialRenameValue(handle, model.uri, position)) : undefined }); } diff --git a/src/vs/workbench/api/node/extHost.protocol.ts b/src/vs/workbench/api/node/extHost.protocol.ts index 27298d42206..0fedae0458f 100644 --- a/src/vs/workbench/api/node/extHost.protocol.ts +++ b/src/vs/workbench/api/node/extHost.protocol.ts @@ -692,7 +692,7 @@ export interface ExtHostLanguageFeaturesShape { $resolveWorkspaceSymbol(handle: number, symbol: SymbolInformationDto): TPromise; $releaseWorkspaceSymbols(handle: number, id: number): void; $provideRenameEdits(handle: number, resource: UriComponents, position: IPosition, newName: string): TPromise; - $resolveInitialRenameValue(handle: number, resource: UriComponents, position: IPosition): TPromise; + $resolveInitialRenameValue(handle: number, resource: UriComponents, position: IPosition): TPromise; $provideCompletionItems(handle: number, resource: UriComponents, position: IPosition, context: modes.SuggestContext): TPromise; $resolveCompletionItem(handle: number, resource: UriComponents, position: IPosition, suggestion: modes.ISuggestion): TPromise; $releaseCompletionItems(handle: number, id: number): void; diff --git a/src/vs/workbench/api/node/extHostLanguageFeatures.ts b/src/vs/workbench/api/node/extHostLanguageFeatures.ts index 8a270631e0b..29d85130731 100644 --- a/src/vs/workbench/api/node/extHostLanguageFeatures.ts +++ b/src/vs/workbench/api/node/extHostLanguageFeatures.ts @@ -514,7 +514,7 @@ class RenameAdapter { }); } - resolveInitialRenameValue(resource: URI, position: IPosition): TPromise { + resolveInitialRenameValue(resource: URI, position: IPosition): TPromise { if (typeof this._provider.resolveInitialRenameValue !== 'function') { return TPromise.as(undefined); } @@ -523,7 +523,7 @@ class RenameAdapter { let pos = TypeConverters.toPosition(position); return asWinJsPromise(token => this._provider.resolveInitialRenameValue(doc, pos, token)).then((value) => { - return { + return { range: TypeConverters.fromRange(value.range), text: value.text }; @@ -1061,7 +1061,7 @@ export class ExtHostLanguageFeatures implements ExtHostLanguageFeaturesShape { return this._withAdapter(handle, RenameAdapter, adapter => adapter.provideRenameEdits(URI.revive(resource), position, newName)); } - $resolveInitialRenameValue(handle: number, resource: URI, position: IPosition): TPromise { + $resolveInitialRenameValue(handle: number, resource: URI, position: IPosition): TPromise { return this._withAdapter(handle, RenameAdapter, adapter => adapter.resolveInitialRenameValue(resource, position)); }