diff --git a/extensions/typescript-language-features/src/languageFeatures/jsxLinkedEditing.ts b/extensions/typescript-language-features/src/languageFeatures/jsxLinkedEditing.ts index 618acc3d87ffbe..1824624e51bb35 100644 --- a/extensions/typescript-language-features/src/languageFeatures/jsxLinkedEditing.ts +++ b/extensions/typescript-language-features/src/languageFeatures/jsxLinkedEditing.ts @@ -4,11 +4,11 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; +import { DocumentSelector } from '../configuration/documentSelector'; +import { API } from '../tsServer/api'; +import * as typeConverters from '../typeConverters'; import { ClientCapability, ITypeScriptServiceClient } from '../typescriptService'; -import { conditionalRegistration, requireMinVersion, requireSomeCapability } from '../utils/dependentRegistration'; -import { DocumentSelector } from '../utils/documentSelector'; -import * as typeConverters from '../utils/typeConverters'; -import API from '../utils/api'; +import { conditionalRegistration, requireMinVersion, requireSomeCapability } from './util/dependentRegistration'; class JsxLinkedEditingSupport implements vscode.LinkedEditingRangeProvider { @@ -25,12 +25,12 @@ class JsxLinkedEditingSupport implements vscode.LinkedEditingRangeProvider { } const args = typeConverters.Position.toFileLocationRequestArgs(filepath, position); - const response = await this.client.execute('jsxLinkedEdit', args, token); + const response = await this.client.execute('LinkedEditing', args, token); if (response.type !== 'response' || !response.body) { return undefined; } - const wordPattern = response.body.wordPattern ? new RegExp(response.body.wordPattern) : undefined; + const wordPattern = undefined;//response.body.wordPattern ? new RegExp(response.body.wordPattern) : undefined; return new vscode.LinkedEditingRanges(response.body.ranges.map(range => typeConverters.Range.fromTextSpan(range)), wordPattern); } } diff --git a/extensions/typescript-language-features/src/tsServer/protocol/protocol.d.ts b/extensions/typescript-language-features/src/tsServer/protocol/protocol.d.ts index d936a30e242ba7..09b39aba577fe0 100644 --- a/extensions/typescript-language-features/src/tsServer/protocol/protocol.d.ts +++ b/extensions/typescript-language-features/src/tsServer/protocol/protocol.d.ts @@ -52,15 +52,17 @@ declare module 'typescript/lib/tsserverlibrary' { filepath: string; }; + interface LinkedEditingRequest extends FileLocationRequest { + readonly command: 'LinkedEditing'; + } + interface LinkedEditingRanges { ranges: TextSpan[]; wordPattern?: string; } - interface JsxLinkedEditRequest extends FileLocationRequest { } - - interface JsxLinkedEditResponse extends Response { - body?: LinkedEditingRanges; + interface LinkedEditingResponse extends Response { + readonly body: LinkedEditingRanges; } } } diff --git a/extensions/typescript-language-features/src/tsServer/server.ts b/extensions/typescript-language-features/src/tsServer/server.ts index 7bdf6b83fe09dc..2eb705cd74fb42 100644 --- a/extensions/typescript-language-features/src/tsServer/server.ts +++ b/extensions/typescript-language-features/src/tsServer/server.ts @@ -495,6 +495,7 @@ export class SyntaxRoutingTsServer extends Disposable implements ITypeScriptServ 'format', 'formatonkey', 'docCommentTemplate', + 'LinkedEditing' ]); /** diff --git a/extensions/typescript-language-features/src/typescriptService.ts b/extensions/typescript-language-features/src/typescriptService.ts index 59061bb062c2cf..5407a2dba7f2e1 100644 --- a/extensions/typescript-language-features/src/typescriptService.ts +++ b/extensions/typescript-language-features/src/typescriptService.ts @@ -76,7 +76,7 @@ interface StandardTsServerRequests { 'findSourceDefinition': [Proto.FileLocationRequestArgs, Proto.DefinitionResponse]; 'getMoveToRefactoringFileSuggestions': [Proto.GetMoveToRefactoringFileSuggestionsRequestArgs, Proto.GetMoveToRefactoringFileSuggestionsResponse]; 'getEditsForMoveToFileRefactor': [Proto.GetEditsForMoveToFileRefactorRequestArgs, Proto.GetEditsForMoveToFileRefactorResponse]; - 'jsxLinkedEdit': [Proto.FileLocationRequestArgs, Proto.JsxLinkedEditResponse]; + 'LinkedEditing': [Proto.FileLocationRequestArgs, Proto.LinkedEditingResponse]; } interface NoResponseTsServerRequests {