Class FoldingRangeProvider
java.lang.Object
com.github._1c_syntax.bsl.languageserver.providers.FoldingRangeProvider
Провайдер для предоставления информации о сворачиваемых областях кода.
Обрабатывает запросы textDocument/foldingRange.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionFoldingRangeProvider(List<FoldingRangeSupplier> foldingRangeSuppliers, ClientCapabilitiesHolder clientCapabilitiesHolder) -
Method Summary
Modifier and TypeMethodDescriptiongetFoldingRange(DocumentContext documentContext) Получить список сворачиваемых областей в документе.voidОбработчик событияLanguageServerInitializeRequestReceivedEvent.
-
Constructor Details
-
FoldingRangeProvider
@ConstructorProperties({"foldingRangeSuppliers","clientCapabilitiesHolder"}) public FoldingRangeProvider(List<FoldingRangeSupplier> foldingRangeSuppliers, ClientCapabilitiesHolder clientCapabilitiesHolder)
-
-
Method Details
-
handleInitializeEvent
@EventListener(LanguageServerInitializeRequestReceivedEvent.class) public void handleInitializeEvent()Обработчик событияLanguageServerInitializeRequestReceivedEvent.Кэширует клиентские возможности секции
textDocument.foldingRange:foldingRange.collapsedText(LSP 3.17) — определяет, отдавать ли клиенту текст-заглушку свёрнутого блока;rangeLimit— максимальное число сворачиваемых областей, которое готов принять клиент. Отсутствие значения трактуется как отсутствие лимита.
-
getFoldingRange
Получить список сворачиваемых областей в документе.Сапплаеры всегда заполняют осмысленный текст-заглушку свёрнутого блока (
FoldingRange.setCollapsedText(String)). Если клиент не заявил поддержку возможностиtextDocument.foldingRange.foldingRange.collapsedText(LSP 3.17), провайдер сбрасывает этот текст вnull, чтобы клиент подставил собственную заглушку.Если клиент заявил лимит на число областей (
textDocument.foldingRange.rangeLimit) и вычисленный список его превышает, список усекается до лимита с приоритизацией наиболее полезных областей (см.applyRangeLimit(List)). Если лимит не заявлен, возвращаются все области без изменений.- Parameters:
documentContext- Контекст документа- Returns:
- Список областей, которые можно свернуть
-