Skip to content

Commit af5e188

Browse files
committed
Implement API rename for typscript file. See
#28
1 parent 942b2ae commit af5e188

File tree

7 files changed

+376
-309
lines changed

7 files changed

+376
-309
lines changed

core/ts.core/src/ts/client/ITypeScriptServiceClient.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import ts.client.projectinfo.ProjectInfo;
2929
import ts.client.quickinfo.QuickInfo;
3030
import ts.client.references.ReferencesResponseBody;
31+
import ts.client.rename.RenameResponseBody;
3132
import ts.client.signaturehelp.SignatureHelpItems;
3233

3334
/**
@@ -200,14 +201,18 @@ CompletableFuture<ReferencesResponseBody> references(String fileName, int line,
200201
CompletableFuture<List<OccurrencesResponseItem>> occurrences(String fileName, int line, int offset)
201202
throws TypeScriptException;
202203

204+
205+
CompletableFuture<RenameResponseBody> rename(String file, int line, int offset, Boolean findInComments,
206+
Boolean findInStrings) throws TypeScriptException;
207+
203208
CompletableFuture<List<NavigationBarItem>> navbar(String fileName, IPositionProvider positionProvider)
204209
throws TypeScriptException;
205210

206211
void configure(ConfigureRequestArguments arguments) throws TypeScriptException;
207212

208213
CompletableFuture<ProjectInfo> projectInfo(String file, String projectFileName, boolean needFileNameList)
209214
throws TypeScriptException;
210-
215+
211216
// Since 2.0.3
212217

213218
/**

core/ts.core/src/ts/client/TypeScriptServiceClient.java

+14-4
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import ts.client.projectinfo.ProjectInfo;
4444
import ts.client.quickinfo.QuickInfo;
4545
import ts.client.references.ReferencesResponseBody;
46+
import ts.client.rename.RenameResponseBody;
4647
import ts.client.signaturehelp.SignatureHelpItems;
4748
import ts.internal.FileTempHelper;
4849
import ts.internal.SequenceHelper;
@@ -71,6 +72,7 @@
7172
import ts.internal.client.protocol.QuickInfoRequest;
7273
import ts.internal.client.protocol.ReferencesRequest;
7374
import ts.internal.client.protocol.ReloadRequest;
75+
import ts.internal.client.protocol.RenameRequest;
7476
import ts.internal.client.protocol.Request;
7577
import ts.internal.client.protocol.Response;
7678
import ts.internal.client.protocol.SemanticDiagnosticsSyncRequest;
@@ -81,6 +83,7 @@
8183
import ts.nodejs.INodejsProcessListener;
8284
import ts.nodejs.NodejsProcessAdapter;
8385
import ts.nodejs.NodejsProcessManager;
86+
import ts.repository.TypeScriptRepositoryManager;
8487
import ts.utils.FileUtils;
8588

8689
/**
@@ -154,11 +157,12 @@ public TypeScriptServiceClient(final File projectDir, File tsserverFile, File no
154157
this(projectDir, tsserverFile, nodeFile, false, false, null);
155158
}
156159

157-
public TypeScriptServiceClient(final File projectDir, File tsserverFile, File nodeFile, boolean enableTelemetry,
160+
public TypeScriptServiceClient(final File projectDir, File typescriptDir, File nodeFile, boolean enableTelemetry,
158161
boolean disableAutomaticTypingAcquisition, File tsserverPluginsFile) throws TypeScriptException {
159162
this(NodejsProcessManager.getInstance().create(projectDir,
160-
tsserverPluginsFile != null ? tsserverPluginsFile : tsserverFile, nodeFile,
161-
new INodejsLaunchConfiguration() {
163+
tsserverPluginsFile != null ? tsserverPluginsFile
164+
: TypeScriptRepositoryManager.getTsserverFile(typescriptDir),
165+
nodeFile, new INodejsLaunchConfiguration() {
162166

163167
@Override
164168
public List<String> createNodeArgs() {
@@ -173,7 +177,7 @@ public List<String> createNodeArgs() {
173177
}
174178
if (tsserverPluginsFile != null) {
175179
args.add("--typescriptDir");
176-
args.add(FileUtils.getPath(tsserverFile.getParentFile().getParentFile()));
180+
args.add(FileUtils.getPath(typescriptDir));
177181
}
178182
// args.add("--useSingleInferredProject");
179183
return args;
@@ -386,6 +390,12 @@ public CompletableFuture<List<OccurrencesResponseItem>> occurrences(String fileN
386390
return execute(new OccurrencesRequest(fileName, line, offset), true);
387391
}
388392

393+
@Override
394+
public CompletableFuture<RenameResponseBody> rename(String file, int line, int offset, Boolean findInComments,
395+
Boolean findInStrings) throws TypeScriptException {
396+
return execute(new RenameRequest(file, line, offset, findInComments, findInStrings), true);
397+
}
398+
389399
@Override
390400
public CompletableFuture<List<NavigationBarItem>> navbar(String fileName, IPositionProvider positionProvider)
391401
throws TypeScriptException {

core/ts.core/src/ts/resources/ITypeScriptFile.java

+4
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import ts.client.occurrences.OccurrencesResponseItem;
2828
import ts.client.quickinfo.QuickInfo;
2929
import ts.client.references.ReferencesResponseBody;
30+
import ts.client.rename.RenameResponseBody;
3031

3132
/**
3233
* TypeScript file API.
@@ -182,6 +183,9 @@ CompletableFuture<DiagnosticEventBody> syntacticDiagnosticsSync(Boolean includeL
182183
*/
183184
public CompletableFuture<List<OccurrencesResponseItem>> occurrences(int position) throws TypeScriptException;
184185

186+
CompletableFuture<RenameResponseBody> rename(int position, Boolean findInComments,
187+
Boolean findInStrings) throws TypeScriptException;
188+
185189
/**
186190
* Call implementation from the tsserver.
187191
*

0 commit comments

Comments
 (0)