Я пишу языковой сервер для моего хобби-компилятора, я пишу сам сервер на Java, используя инфраструктуру / библиотеку lsp4j, и я использую декоратор @JsonNotification
, код выглядит следующим образом
public interface ExtendedLanguageClient extends LanguageClient {
@JsonNotification("exampleLang/endpoint")
void endpoint(HTMLString htmlString);
}
И я хочу вызвать эту конечную точку со стороны JS (в VSCode)
Я делаю это следующим образом:
client.onReady().then(() => {
client.onNotification(new NotificationType(`exampleLang/endpoint`), (event: any) => {
console.log(event);
});
console.log("Sending notif");
client.sendNotification(new NotificationType(`exampleLang/endpoint`));
console.log("Sent notif");
});
Но событие onNotificationникогда не звонят, есть идеи почему?Документация по этой конкретной функции очень отсутствует.
Я, конечно, также пытался использовать sendRequest, но это занимает method
, а остальное не очень хорошо документировано.
IМне интересно, как получить ответ, который отправляет код Java (это не мое, кто-то другой написал это, я не очень хорош в Java), поскольку в настоящее время onNotification
никогда не вызывается.