Class InlayHintProvider
java.lang.Object
com.github._1c_syntax.bsl.languageserver.providers.InlayHintProvider
Провайдер, обрабатывающий запросы
textDocument/inlayHint и inlayHint/resolve.- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionInlayHintProvider(Map<String, InlayHintSupplier<InlayHintData>> inlayHintSuppliersById, ClientCapabilitiesHolder clientCapabilitiesHolder, LanguageClientHolder clientHolder, LanguageServerConfiguration configuration, JsonMapper jsonMapper) -
Method Summary
Modifier and TypeMethodDescriptionextractData(InlayHint inlayHint) Извлечь данные хинта из хинта.getInlayHint(DocumentContext documentContext, InlayHintParams params) Получить список inlay hints в документе.voidОбработчик событияLanguageServerConfigurationChangedEvent.voidОтправить запрос на обновление inlay hints.resolveInlayHint(DocumentContext documentContext, InlayHint unresolved, InlayHintData data) Разрешить хинт (inlayHint/resolve) — дорассчитать его «тяжёлые» поля (tooltip и т.п.).
-
Constructor Details
-
InlayHintProvider
@ConstructorProperties({"inlayHintSuppliersById","clientCapabilitiesHolder","clientHolder","configuration","jsonMapper"}) public InlayHintProvider(Map<String, InlayHintSupplier<InlayHintData>> inlayHintSuppliersById, ClientCapabilitiesHolder clientCapabilitiesHolder, LanguageClientHolder clientHolder, LanguageServerConfiguration configuration, JsonMapper jsonMapper)
-
-
Method Details
-
getInlayHint
Получить список inlay hints в документе.- Parameters:
documentContext- Документ, для которого запрашиваются inlay hints.params- Параметры запроса.- Returns:
- Список inlay hints в документе
-
resolveInlayHint
public InlayHint resolveInlayHint(DocumentContext documentContext, InlayHint unresolved, InlayHintData data) Разрешить хинт (inlayHint/resolve) — дорассчитать его «тяжёлые» поля (tooltip и т.п.).По идентификатору сапплаера из данных хинта находит сапплаер-владельца и делегирует ему
InlayHintSupplier.resolve(DocumentContext, InlayHint, T). После разрешения полеInlayHint.getData()очищается для экономии трафика.- Parameters:
documentContext- Контекст документа, к которому относится хинт.unresolved- Неразрешённый хинт.data- Данные хинта.- Returns:
- Разрешённый хинт.
-
extractData
Извлечь данные хинта из хинта.Возвращает объект данных типа, с которым был зарегистрирован сапплаер хинта (параметр-тип класса сапплаера).
- Parameters:
inlayHint- Хинт, из которого необходимо извлечь данные.- Returns:
- Извлечённые данные хинта либо
null, если хинт пришёл без поляInlayHint.getData()— резолвить такой хинт нечем.
-
handleEvent
Обработчик событияLanguageServerConfigurationChangedEvent.В случае поддержки запроса подключенным клиентом инициирует запрос
workspace/inlayHint/refresh.- Parameters:
event- Событие
-
refreshInlayHints
public void refreshInlayHints()Отправить запрос на обновление inlay hints.
-