Skip to content

Commit 93742d4

Browse files
authored
Adopt the send notification to avoid deadlock. (#637)
Signed-off-by: Yaohai Zheng <yaozheng@microsoft.com>
1 parent ba4112d commit 93742d4

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

src/extension.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { collectionJavaExtensions } from './plugin';
99
import { prepareExecutable, awaitServerConnection } from './javaServerStarter';
1010
import * as requirements from './requirements';
1111
import { Commands } from './commands';
12-
import { StatusNotification, ClassFileContentsRequest, ProjectConfigurationUpdateRequest, MessageType, ActionableNotification, FeatureStatus, ActionableMessage, CompileWorkspaceRequest, CompileWorkspaceStatus, ProgressReportNotification, ExecuteClientCommandRequest } from './protocol';
12+
import { StatusNotification, ClassFileContentsRequest, ProjectConfigurationUpdateRequest, MessageType, ActionableNotification, FeatureStatus, ActionableMessage, CompileWorkspaceRequest, CompileWorkspaceStatus, ProgressReportNotification, ExecuteClientCommandRequest, SendNotificationRequest } from './protocol';
1313

1414
let oldConfig;
1515
let lastStatus;
@@ -157,6 +157,11 @@ export function activate(context: ExtensionContext) {
157157
languageClient.onRequest(ExecuteClientCommandRequest.type, (params) => {
158158
return commands.executeCommand(params.command, ...params.arguments);
159159
});
160+
161+
languageClient.onRequest(SendNotificationRequest.type, (params) => {
162+
return commands.executeCommand(params.command, ...params.arguments);
163+
});
164+
160165
commands.registerCommand(Commands.OPEN_OUTPUT, () => {
161166
languageClient.outputChannel.show(ViewColumn.Three);
162167
});

src/protocol.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,4 +98,9 @@ export namespace CompileWorkspaceRequest {
9898

9999
export namespace ExecuteClientCommandRequest {
100100
export const type = new RequestType<ExecuteCommandParams, any, void, void>('workspace/executeClientCommand');
101+
}
102+
103+
104+
export namespace SendNotificationRequest {
105+
export const type = new RequestType<ExecuteCommandParams, any, void, void>('workspace/notify');
101106
}

0 commit comments

Comments
 (0)