From 5726838a541d9b4fa670d2a52cbee3262482efe1 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Wed, 13 May 2020 16:11:49 -0700 Subject: [PATCH] Syntax only server creates inferred project with all the open files with noResolve and can handle semantic operations --- src/server/project.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/server/project.ts b/src/server/project.ts index ee007b0b213..7fcfac7e363 100644 --- a/src/server/project.ts +++ b/src/server/project.ts @@ -282,7 +282,10 @@ namespace ts.server { this.compilerOptions.allowNonTsExtensions = true; } - this.languageServiceEnabled = !projectService.syntaxOnly; + this.languageServiceEnabled = true; + if (projectService.syntaxOnly) { + this.compilerOptions.noResolve = true; + } this.setInternalCompilerOptionsForEmittingJsFiles(); const host = this.projectService.host; @@ -296,7 +299,7 @@ namespace ts.server { // Use the current directory as resolution root only if the project created using current directory string this.resolutionCache = createResolutionCache(this, currentDirectory && this.currentDirectory, /*logChangesWhenResolvingModule*/ true); - this.languageService = createLanguageService(this, this.documentRegistry, projectService.syntaxOnly); + this.languageService = createLanguageService(this, this.documentRegistry); if (lastFileExceededProgramSize) { this.disableLanguageService(lastFileExceededProgramSize); } @@ -618,7 +621,7 @@ namespace ts.server { } enableLanguageService() { - if (this.languageServiceEnabled || this.projectService.syntaxOnly) { + if (this.languageServiceEnabled) { return; } this.languageServiceEnabled = true; @@ -630,7 +633,6 @@ namespace ts.server { if (!this.languageServiceEnabled) { return; } - Debug.assert(!this.projectService.syntaxOnly); this.languageService.cleanupSemanticCache(); this.languageServiceEnabled = false; this.lastFileExceededProgramSize = lastFileExceededProgramSize;