more renames, #7340

This commit is contained in:
Johannes Rieken
2018-03-19 16:32:52 +01:00
parent 7192b6a540
commit a116e73a94
9 changed files with 29 additions and 32 deletions

View File

@@ -616,7 +616,6 @@ export function createApiFactory(
ParameterInformation: extHostTypes.ParameterInformation,
Position: extHostTypes.Position,
Range: extHostTypes.Range,
RenameContext: extHostTypes.RenameContext,
Selection: extHostTypes.Selection,
SignatureHelp: extHostTypes.SignatureHelp,
SignatureInformation: extHostTypes.SignatureInformation,

View File

@@ -699,7 +699,7 @@ export interface ExtHostLanguageFeaturesShape {
$resolveWorkspaceSymbol(handle: number, symbol: SymbolInformationDto): TPromise<SymbolInformationDto>;
$releaseWorkspaceSymbols(handle: number, id: number): void;
$provideRenameEdits(handle: number, resource: UriComponents, position: IPosition, newName: string): TPromise<WorkspaceEditDto>;
$resolveRenameContext(handle: number, resource: UriComponents, position: IPosition): TPromise<modes.RenameContext>;
$resolveRenameLocation(handle: number, resource: UriComponents, position: IPosition): TPromise<modes.RenameContext>;
$provideCompletionItems(handle: number, resource: UriComponents, position: IPosition, context: modes.SuggestContext): TPromise<SuggestResultDto>;
$resolveCompletionItem(handle: number, resource: UriComponents, position: IPosition, suggestion: modes.ISuggestion): TPromise<modes.ISuggestion>;
$releaseCompletionItems(handle: number, id: number): void;

View File

@@ -467,7 +467,7 @@ class NavigateTypeAdapter {
class RenameAdapter {
static supportsResolving(provider: vscode.RenameProvider2): boolean {
return typeof provider.resolveRenameContext === 'function';
return typeof provider.resolveRenameLocation === 'function';
}
private _documents: ExtHostDocuments;
@@ -506,20 +506,20 @@ class RenameAdapter {
});
}
resolveRenameContext(resource: URI, position: IPosition): TPromise<modes.RenameContext> {
if (typeof this._provider.resolveRenameContext !== 'function') {
resolveRenameLocation(resource: URI, position: IPosition): TPromise<modes.RenameContext> {
if (typeof this._provider.resolveRenameLocation !== 'function') {
return TPromise.as(undefined);
}
let doc = this._documents.getDocumentData(resource).document;
let pos = TypeConverters.toPosition(position);
return asWinJsPromise(token => this._provider.resolveRenameContext(doc, pos, token)).then(context => {
return asWinJsPromise(token => this._provider.resolveRenameLocation(doc, pos, token)).then(context => {
if (!context) {
return undefined;
}
if (!context.range.contains(pos)) {
console.warn('INVALID rename information, must contain the request-position');
if (context.range && (!context.range.isSingleLine || context.range.start.line !== pos.line)) {
console.warn('INVALID rename context, range must be single line and on the same line');
return undefined;
}
return <modes.RenameContext>{
@@ -1092,8 +1092,8 @@ export class ExtHostLanguageFeatures implements ExtHostLanguageFeaturesShape {
return this._withAdapter(handle, RenameAdapter, adapter => adapter.provideRenameEdits(URI.revive(resource), position, newName));
}
$resolveRenameContext(handle: number, resource: URI, position: IPosition): TPromise<modes.RenameContext> {
return this._withAdapter(handle, RenameAdapter, adapter => adapter.resolveRenameContext(resource, position));
$resolveRenameLocation(handle: number, resource: URI, position: IPosition): TPromise<modes.RenameContext> {
return this._withAdapter(handle, RenameAdapter, adapter => adapter.resolveRenameLocation(resource, position));
}
// --- suggestion

View File

@@ -591,16 +591,6 @@ export class WorkspaceEdit implements vscode.WorkspaceEdit {
}
}
export class RenameContext {
range: Range;
newName?: string;
constructor(range: Range, newName?: string) {
this.range = range;
this.newName = newName;
}
}
export class SnippetString {
static isSnippetString(thing: any): thing is SnippetString {