From 0b7fb0dba838209fe0effd0efafa183c544699b1 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Mon, 20 Jun 2016 10:12:24 -0700 Subject: [PATCH] getRenameInfo --- src/server/session.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/server/session.ts b/src/server/session.ts index 37a1476904c..3d17fff507b 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -134,6 +134,7 @@ namespace ts.server { export const ReferencesFull = "references-full"; export const Reload = "reload"; export const Rename = "rename"; + export const RenameInfoFull = "rename-full"; export const Saveto = "saveto"; export const SignatureHelp = "signatureHelp"; export const SignatureHelpFull = "signatureHelp-full"; @@ -559,6 +560,13 @@ namespace ts.server { return projectInfo; } + private getRenameInfo(args: protocol.FileLocationRequestArgs) { + const { file, project } = this.getFileAndProject(args.file); + const scriptInfo = project.getScriptInfo(file); + const position = this.getPosition(args, scriptInfo) + return project.languageService.getRenameInfo(file, position); + } + private getRenameLocations(line: number, offset: number, fileName: string, findInComments: boolean, findInStrings: boolean): protocol.RenameResponseBody { const file = ts.normalizePath(fileName); const info = this.projectService.getScriptInfo(file); @@ -1347,6 +1355,9 @@ namespace ts.server { const renameArgs = request.arguments; return this.requiredResponse(this.getRenameLocations(renameArgs.line, renameArgs.offset, renameArgs.file, renameArgs.findInComments, renameArgs.findInStrings)); }, + [CommandNames.RenameInfoFull]: (request: protocol.FileLocationRequest) => { + return this.requiredResponse(this.getRenameInfo(request.arguments)); + }, [CommandNames.Open]: (request: protocol.Request) => { const openArgs = request.arguments; let scriptKind: ScriptKind;