From 170daafbd03945de6ab3b1d14e3e91616dad594d Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Thu, 18 Feb 2021 15:42:23 -0800 Subject: [PATCH 1/2] Register Jedi regardless of what language server is configured --- src/client/activation/activationService.ts | 1 + src/client/activation/serviceRegistry.ts | 11 +++++------ src/test/activation/serviceRegistry.unit.test.ts | 8 ++++++++ 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/client/activation/activationService.ts b/src/client/activation/activationService.ts index b8db849d1d51..6e9735fb0135 100644 --- a/src/client/activation/activationService.ts +++ b/src/client/activation/activationService.ts @@ -243,6 +243,7 @@ export class LanguageServerExtensionActivationService if (serverType === LanguageServerType.Jedi) { throw ex; } + traceError(ex); this.output.appendLine(LanguageService.lsFailedToStart()); serverType = LanguageServerType.Jedi; server = this.serviceContainer.get(ILanguageServerActivator, serverType); diff --git a/src/client/activation/serviceRegistry.ts b/src/client/activation/serviceRegistry.ts index baa10ab345cf..8245b364a9e2 100644 --- a/src/client/activation/serviceRegistry.ts +++ b/src/client/activation/serviceRegistry.ts @@ -136,12 +136,6 @@ export function registerTypes(serviceManager: IServiceManager, languageServerTyp ILanguageServerFolderService, NodeLanguageServerFolderService, ); - } else if (languageServerType === LanguageServerType.Jedi) { - serviceManager.add( - ILanguageServerActivator, - JediExtensionActivator, - LanguageServerType.Jedi, - ); } else if (languageServerType === LanguageServerType.JediLSP) { serviceManager.add( ILanguageServerActivator, @@ -165,6 +159,11 @@ export function registerTypes(serviceManager: IServiceManager, languageServerTyp LanguageServerType.None, ); } + serviceManager.add( + ILanguageServerActivator, + JediExtensionActivator, + LanguageServerType.Jedi, + ); // We fallback to Jedi if for some reason we're unable to use other language servers, hence register this always. serviceManager.addSingleton( IDownloadChannelRule, diff --git a/src/test/activation/serviceRegistry.unit.test.ts b/src/test/activation/serviceRegistry.unit.test.ts index bd48ef6f62ef..614fe02e6514 100644 --- a/src/test/activation/serviceRegistry.unit.test.ts +++ b/src/test/activation/serviceRegistry.unit.test.ts @@ -9,6 +9,7 @@ import { DownloadBetaChannelRule, DownloadDailyChannelRule } from '../../client/ import { LanguageServerDownloader } from '../../client/activation/common/downloader'; import { LanguageServerDownloadChannel } from '../../client/activation/common/packageRepository'; import { ExtensionSurveyPrompt } from '../../client/activation/extensionSurvey'; +import { JediExtensionActivator } from '../../client/activation/jedi'; import { DotNetLanguageServerActivator } from '../../client/activation/languageServer/activator'; import { DotNetLanguageServerAnalysisOptions } from '../../client/activation/languageServer/analysisOptions'; import { DotNetLanguageClientFactory } from '../../client/activation/languageServer/languageClientFactory'; @@ -161,6 +162,13 @@ suite('Unit Tests - Language Server Activation Service Registry', () => { LanguageServerType.Microsoft, ), ).once(); + verify( + serviceManager.add( + ILanguageServerActivator, + JediExtensionActivator, + LanguageServerType.Jedi, + ), + ).once(); verify(serviceManager.add(ILanguageServerProxy, DotNetLanguageServerProxy)).once(); verify(serviceManager.add(ILanguageServerManager, DotNetLanguageServerManager)).once(); verify( From 51a9c4b820f2aa9d1d462b9d8e9f087a81c5be6d Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Thu, 18 Feb 2021 15:50:09 -0800 Subject: [PATCH 2/2] News entry --- news/2 Fixes/15452.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 news/2 Fixes/15452.md diff --git a/news/2 Fixes/15452.md b/news/2 Fixes/15452.md new file mode 100644 index 000000000000..ade93536ece8 --- /dev/null +++ b/news/2 Fixes/15452.md @@ -0,0 +1 @@ +Register Jedi regardless of what language server is configured.