summaryrefslogtreecommitdiff
path: root/cli/tsc
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tsc')
-rw-r--r--cli/tsc/99_main_compiler.js10
-rw-r--r--cli/tsc/compiler.d.ts4
2 files changed, 14 insertions, 0 deletions
diff --git a/cli/tsc/99_main_compiler.js b/cli/tsc/99_main_compiler.js
index 7650ff95b..c2b50ba16 100644
--- a/cli/tsc/99_main_compiler.js
+++ b/cli/tsc/99_main_compiler.js
@@ -589,11 +589,16 @@ delete Object.prototype.__proto__;
*/
function serverRequest({ id, ...request }) {
debug(`serverRequest()`, { id, ...request });
+
// reset all memoized source files names
scriptFileNamesCache = undefined;
// evict all memoized source file versions
scriptVersionCache.clear();
switch (request.method) {
+ case "restart": {
+ serverRestart();
+ return respond(id, true);
+ }
case "configure": {
const { options, errors } = ts
.convertCompilerOptionsFromJson(request.compilerOptions, "");
@@ -918,6 +923,11 @@ delete Object.prototype.__proto__;
debug("serverInit()");
}
+ function serverRestart() {
+ languageService = ts.createLanguageService(host);
+ debug("serverRestart()");
+ }
+
let hasStarted = false;
/** Startup the runtime environment, setting various flags.
diff --git a/cli/tsc/compiler.d.ts b/cli/tsc/compiler.d.ts
index 2ea7eb298..1ba116170 100644
--- a/cli/tsc/compiler.d.ts
+++ b/cli/tsc/compiler.d.ts
@@ -251,4 +251,8 @@ declare global {
specifier: string;
position: number;
}
+
+ interface Restart {
+ method: "restart";
+ }
}