From 2ac8fbb7d09938326e9fb601d0636b5cae122f1b Mon Sep 17 00:00:00 2001 From: Andrius Date: Wed, 5 Jun 2019 08:29:05 +0300 Subject: [PATCH] notify tsserver about changes in external files. --- .../src/typeScriptServiceClientHost.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/extensions/typescript-language-features/src/typeScriptServiceClientHost.ts b/extensions/typescript-language-features/src/typeScriptServiceClientHost.ts index b11259f22ea..2571d395a5f 100644 --- a/extensions/typescript-language-features/src/typeScriptServiceClientHost.ts +++ b/extensions/typescript-language-features/src/typeScriptServiceClientHost.ts @@ -24,6 +24,7 @@ import { PluginManager } from './utils/plugins'; import * as typeConverters from './utils/typeConverters'; import TypingsStatus, { AtaProgressReporter } from './utils/typingsStatus'; import VersionStatus from './utils/versionStatus'; +import { flatten } from './utils/arrays'; // Style check diagnostics that can be reported as warnings const styleCheckDiagnostics = [ @@ -68,7 +69,7 @@ export default class TypeScriptServiceClientHost extends Disposable { configFileWatcher.onDidDelete(handleProjectCreateOrDelete, this, this._disposables); configFileWatcher.onDidChange(handleProjectChange, this, this._disposables); - const allModeIds = this.getAllModeIds(descriptions); + const allModeIds = this.getAllModeIds(descriptions, pluginManager); this.client = this._register(new TypeScriptServiceClient( workspaceState, version => this.versionStatus.onDidChangeTypeScriptVersion(version), @@ -138,11 +139,11 @@ export default class TypeScriptServiceClientHost extends Disposable { this.configurationChanged(); } - private getAllModeIds(descriptions: LanguageDescription[]) { - const allModeIds: string[] = []; - for (const description of descriptions) { - allModeIds.push(...description.modeIds); - } + private getAllModeIds(descriptions: LanguageDescription[], pluginManager: PluginManager) { + const allModeIds = flatten([ + ...descriptions.map(x => x.modeIds), + ...pluginManager.plugins.map(x => x.languages) + ]); return allModeIds; }