Scope prepareRename to TS 3.1+

Fixes #95399
This commit is contained in:
Matt Bierner 2020-04-16 09:00:08 -07:00
parent fcc10e46c3
commit b89738c83b

View file

@ -8,6 +8,7 @@ import * as vscode from 'vscode';
import * as nls from 'vscode-nls';
import type * as Proto from '../protocol';
import { ITypeScriptServiceClient, ServerResponse } from '../typescriptService';
import API from '../utils/api';
import * as typeConverters from '../utils/typeConverters';
import FileConfigurationManager from './fileConfigurationManager';
@ -24,6 +25,10 @@ class TypeScriptRenameProvider implements vscode.RenameProvider {
position: vscode.Position,
token: vscode.CancellationToken
): Promise<vscode.Range | null> {
if (this.client.apiVersion.lt(API.v310)) {
return null;
}
const response = await this.execRename(document, position, token);
if (response?.type !== 'response' || !response.body) {
return null;
@ -34,12 +39,7 @@ class TypeScriptRenameProvider implements vscode.RenameProvider {
return Promise.reject<vscode.Range>(renameInfo.localizedErrorMessage);
}
const triggerSpan = renameInfo.triggerSpan; // added in TS 3.1
if (triggerSpan) {
return typeConverters.Range.fromTextSpan(triggerSpan);
}
return null;
return typeConverters.Range.fromTextSpan(renameInfo.triggerSpan);
}
public async provideRenameEdits(