Skip to content

Commit f03b8ae

Browse files
committed
Integrates tsserver-plugins. See
#133
1 parent 9b0dbcc commit f03b8ae

File tree

90 files changed

+575359
-58820
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+575359
-58820
lines changed
Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
11
{
2+
"compileOnSave": true,
23
"compilerOptions": {
3-
"module": "commonjs",
4-
"noImplicitAny": true,
5-
"removeComments": true,
6-
"preserveConstEnums": true,
4+
"outDir": "out",
75
"sourceMap": true
8-
},
9-
"files": [
10-
"sample.ts"
11-
]
6+
}
127
}

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

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
import ts.nodejs.INodejsProcessListener;
8282
import ts.nodejs.NodejsProcessAdapter;
8383
import ts.nodejs.NodejsProcessManager;
84+
import ts.utils.FileUtils;
8485

8586
/**
8687
* TypeScript service client implementation.
@@ -150,12 +151,13 @@ private static class PendingRequestEventInfo {
150151
}
151152

152153
public TypeScriptServiceClient(final File projectDir, File tsserverFile, File nodeFile) throws TypeScriptException {
153-
this(projectDir, tsserverFile, nodeFile, false, false);
154+
this(projectDir, tsserverFile, nodeFile, false, false, null);
154155
}
155156

156157
public TypeScriptServiceClient(final File projectDir, File tsserverFile, File nodeFile, boolean enableTelemetry,
157-
boolean disableAutomaticTypingAcquisition) throws TypeScriptException {
158-
this(NodejsProcessManager.getInstance().create(projectDir, tsserverFile, nodeFile,
158+
boolean disableAutomaticTypingAcquisition, File tsserverPluginsFile) throws TypeScriptException {
159+
this(NodejsProcessManager.getInstance().create(projectDir,
160+
tsserverPluginsFile != null ? tsserverPluginsFile : tsserverFile, nodeFile,
159161
new INodejsLaunchConfiguration() {
160162

161163
@Override
@@ -169,6 +171,10 @@ public List<String> createNodeArgs() {
169171
if (disableAutomaticTypingAcquisition) {
170172
args.add("--disableAutomaticTypingAcquisition");
171173
}
174+
if (tsserverPluginsFile != null) {
175+
args.add("--typescriptDir");
176+
args.add(FileUtils.getPath(tsserverFile.getParentFile().getParentFile()));
177+
}
172178
// args.add("--useSingleInferredProject");
173179
return args;
174180
}

core/ts.core/src/ts/internal/repository/TypeScriptRepository.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public class TypeScriptRepository implements ITypeScriptRepository {
2323
private String tslintName;
2424
private String typesScriptVersion;
2525
private String tslintVersion;
26+
private File tsserverPluginsFile;
2627

2728
public TypeScriptRepository(File baseDir) throws TypeScriptRepositoryException {
2829
this(baseDir, null);
@@ -58,6 +59,8 @@ private void updateBaseDir(File baseDir) throws TypeScriptRepositoryException {
5859
this.tslintVersion = TypeScriptRepositoryManager.getPackageJsonVersion(tslintBaseDir);
5960
this.tslintName = generateName("tslint", tslintVersion);
6061
}
62+
// tsserver-plugins
63+
this.tsserverPluginsFile = new File(baseDir, "tsserver-plugins/bin/tsserver-plugins");
6164
}
6265

6366
private String generateName(String prefix, String version) {
@@ -124,4 +127,9 @@ public String getTslintName() {
124127
return tslintName;
125128
}
126129

130+
@Override
131+
public File getTsserverPluginsFile() {
132+
return tsserverPluginsFile;
133+
}
134+
127135
}

core/ts.core/src/ts/repository/ITypeScriptRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,6 @@ public interface ITypeScriptRepository {
7777
*/
7878
String getTslintName();
7979

80+
File getTsserverPluginsFile();
81+
8082
}

core/ts.core/src/ts/repository/TypeScriptRepositoryManager.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,4 +99,11 @@ public static String getPackageJsonVersion(File baseDir) {
9999
return null;
100100
}
101101
}
102+
103+
public static File getTsserverPluginsFile(File typesScriptDir) {
104+
if (typesScriptDir.getName().equals("tsserver-plugins")) {
105+
return typesScriptDir;
106+
}
107+
return new File(typesScriptDir, "bin/tsserver-plugins");
108+
}
102109
}

core/ts.core/src/ts/resources/BasicTypeScriptProjectSettings.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,11 @@ public File getTscFile() {
7373
public File getTsserverFile() {
7474
return repository.getTsserverFile();
7575
}
76+
77+
@Override
78+
public File getTsserverPluginsFile() throws TypeScriptException {
79+
return repository.getTsserverPluginsFile();
80+
}
7681

7782
@Override
7883
public File getTslintFile() throws TypeScriptException {

core/ts.core/src/ts/resources/ITypeScriptProjectSettings.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ public interface ITypeScriptProjectSettings {
6666
*/
6767
File getTsserverFile() throws TypeScriptException;
6868

69+
File getTsserverPluginsFile() throws TypeScriptException;
70+
6971
/**
7072
* Returns the tslint/bin/tslint file to execute.
7173
*
@@ -102,4 +104,5 @@ public interface ITypeScriptProjectSettings {
102104
boolean isEnableTelemetry();
103105

104106
boolean isDisableAutomaticTypingAcquisition();
107+
105108
}

core/ts.core/src/ts/resources/TypeScriptProject.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ protected ITypeScriptServiceClient createServiceClient(File projectDir) throws T
172172
File nodeFile = getProjectSettings().getNodejsInstallPath();
173173
File tsserverFile = getProjectSettings().getTsserverFile();
174174
TypeScriptServiceClient client = new TypeScriptServiceClient(getProjectDir(), tsserverFile, nodeFile,
175-
getProjectSettings().isEnableTelemetry(), getProjectSettings().isDisableAutomaticTypingAcquisition());
175+
getProjectSettings().isEnableTelemetry(), getProjectSettings().isDisableAutomaticTypingAcquisition(), getProjectSettings().getTsserverPluginsFile());
176176
client.setCompletionEntryMatcherProvider(this);
177177
return client;
178178
}

core/ts.repository/archives/2.1.5/node_modules/typescript/.mailmap

Lines changed: 216 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/ts.repository/archives/2.1.5/node_modules/typescript/.npmignore

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)