From 43fc575599f43d1c1dab7a3f2df3d204a2dc6f2e Mon Sep 17 00:00:00 2001 From: carsakiller <carsakiller@gmail.com> Date: Tue, 30 May 2023 14:28:58 -0400 Subject: [PATCH] fix: start language server with addon manager --- client/src/addon_manager/registration.ts | 8 ++++++++ client/src/languageserver.ts | 11 +++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/client/src/addon_manager/registration.ts b/client/src/addon_manager/registration.ts index 97dc2b4..20ac31d 100644 --- a/client/src/addon_manager/registration.ts +++ b/client/src/addon_manager/registration.ts @@ -8,6 +8,7 @@ import RelativeTime from "dayjs/plugin/relativeTime"; import { git, setupGit } from "./services/git.service"; import { GIT_DOWNLOAD_URL } from "./config"; import { NotificationLevels } from "./types/webvue"; +import * as languageServer from "../languageserver"; dayjs.extend(RelativeTime); @@ -41,6 +42,13 @@ export async function activate(context: vscode.ExtensionContext) { logger.add(fileLogger); await fileLogger.logStart(); } + // Start language server if it is not already + // We depend on it to apply config modifications + if (!languageServer.defaultClient) { + logger.debug("Starting language server"); + await languageServer.createClient(context); + logger.debug("Language server has started"); + } // Check if git is installed if (!(await git.version()).installed) { diff --git a/client/src/languageserver.ts b/client/src/languageserver.ts index 260f140..51a00d9 100644 --- a/client/src/languageserver.ts +++ b/client/src/languageserver.ts @@ -78,6 +78,12 @@ function registerCustomCommands(context: ExtensionContext) { })); } +/** Creates a new {@link LuaClient} and starts it. */ +export const createClient = (context: ExtensionContext) => { + defaultClient = new LuaClient(context, [{ language: 'lua' }]) + defaultClient.start(); +} + class LuaClient { public client: LanguageClient; @@ -248,10 +254,7 @@ export function activate(context: ExtensionContext) { // Untitled files go to a default client. if (!defaultClient) { - defaultClient = new LuaClient(context, [ - { language: 'lua' } - ]); - defaultClient.start(); + createClient(context); return; } } -- GitLab