diff --git a/extensions/typescript-language-features/src/features/rename.ts b/extensions/typescript-language-features/src/features/rename.ts index 64a64b19f05..bae9f23d434 100644 --- a/extensions/typescript-language-features/src/features/rename.ts +++ b/extensions/typescript-language-features/src/features/rename.ts @@ -6,6 +6,7 @@ import * as vscode from 'vscode'; import * as Proto from '../protocol'; import { ITypeScriptServiceClient } from '../typescriptService'; +import API from '../utils/api'; import * as typeConverters from '../utils/typeConverters'; @@ -28,6 +29,14 @@ class TypeScriptRenameProvider implements vscode.RenameProvider { if (!renameInfo.canRename) { return Promise.reject(renameInfo.localizedErrorMessage); } + + if (this.client.apiVersion.gte(API.v310)) { + const triggerSpan = (renameInfo as any).triggerSpan; + if (triggerSpan) { + return typeConverters.Range.fromTextSpan(triggerSpan); + } + } + return null; } diff --git a/extensions/typescript-language-features/src/utils/api.ts b/extensions/typescript-language-features/src/utils/api.ts index 11e22609951..3c5ca68d734 100644 --- a/extensions/typescript-language-features/src/utils/api.ts +++ b/extensions/typescript-language-features/src/utils/api.ts @@ -30,6 +30,7 @@ export default class API { public static readonly v291 = API.fromSimpleString('2.9.1'); public static readonly v292 = API.fromSimpleString('2.9.2'); public static readonly v300 = API.fromSimpleString('3.0.0'); + public static readonly v310 = API.fromSimpleString('3.1.0'); public static fromVersionString(versionString: string): API {