Форматирование содержимого разметки с помощью MarkupKind.PlainText
В рамках реализации LSP я хочу вернуть некоторый простой текст в ответ на запрос наведения курсора. Я использую для этого MarkupContent . Я устанавливаю
kind
в «открытый текст». Я обнаружил, что VS Code обрабатывает текст и (я думаю) просто удаляет части, похожие на теги HTML. Например, если я возвращаю текст «name :: <string>», он отображается как «name ::». Я сам могу экранировать теги с помощью объектов HTML, например, заменяя '<' на '<' и это отображается правильно в коде VS, но теперь emacs-lsp этого не делает и отображает текст буквально, поэтому я вижу 'name :: <string>'.
В спецификации LSP говорится: « Обратите внимание, что клиенты могут очистить возвратную уценку. Клиент может решить удалить HTML из уценки, чтобы избежать выполнения скрипта». но подразумевается, что это относится к разметке, а не к обычному тексту.
Есть ли способ обойти это, чтобы получить единообразное отображение как в vscode, так и в emacs-lsp? Есть ли ошибка в реализации vscode? В идеале я бы не хотел добавлять клиентскую логику в серверный код.
vscode версии 1.56.2, lsp-mode версии 20210530.1518 (от MELPA)