Skip to content

Commit 06fe446

Browse files
committed
await the Language Client stopping in deactivate
Closes #436 Signed-off-by: David Thompson <davthomp@redhat.com>
1 parent 4cf02e8 commit 06fe446

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/extension.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,11 @@ import { prepareExecutable } from './server/serverStarter';
2323
import { ExternalXmlSettings } from "./settings/externalXmlSettings";
2424
import { getXMLConfiguration } from './settings/settings';
2525
import { Telemetry } from './telemetry';
26+
import { XMLExtensionApi } from './api/xmlExtensionApi';
2627

2728
let languageClient: LanguageClient;
2829

29-
export async function activate(context: ExtensionContext) {
30+
export async function activate(context: ExtensionContext): Promise<XMLExtensionApi> {
3031

3132
await Telemetry.startTelemetry();
3233
Telemetry.sendTelemetry(Telemetry.SETTINGS_EVT, {
@@ -47,7 +48,7 @@ export async function activate(context: ExtensionContext) {
4748
if (!storagePath) {
4849
storagePath = os.homedir() + "/.lemminx";
4950
}
50-
let logfile = path.resolve(storagePath + '/lemminx.log');
51+
const logfile = path.resolve(storagePath + '/lemminx.log');
5152

5253
const externalXmlSettings: ExternalXmlSettings = new ExternalXmlSettings();
5354

@@ -59,8 +60,8 @@ export async function activate(context: ExtensionContext) {
5960
return getXmlExtensionApiImplementation(languageClient, logfile, externalXmlSettings, requirementsData);
6061
}
6162

62-
export function deactivate(): void {
63-
if (!!languageClient) {
64-
languageClient.stop();
63+
export async function deactivate(): Promise<void> {
64+
if (languageClient) {
65+
await languageClient.stop();
6566
}
6667
}

0 commit comments

Comments
 (0)