Class SemanticTokensProvider
java.lang.Object
com.github._1c_syntax.bsl.languageserver.providers.SemanticTokensProvider
Провайдер для предоставления семантических токенов.
Обрабатывает запросы textDocument/semanticTokens/full, textDocument/semanticTokens/full/delta
и textDocument/semanticTokens/range.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidclearCache(URI uri) Очищает кэшированные данные токенов для указанного документа.getSemanticTokensFull(DocumentContext documentContext, SemanticTokensParams params) Получить семантические токены для всего документа.getSemanticTokensFullDelta(DocumentContext documentContext, SemanticTokensDeltaParams params) Получить дельту семантических токенов относительно предыдущего результата.getSemanticTokensRange(DocumentContext documentContext, SemanticTokensRangeParams params) Получить семантические токены для указанного диапазона документа.voidОбрабатывает событие закрытия документа в контексте сервера.voidОбрабатывает событие удаления документа из контекста сервера.
-
Constructor Details
-
SemanticTokensProvider
@ConstructorProperties("suppliers") public SemanticTokensProvider(List<SemanticTokensSupplier> suppliers)
-
-
Method Details
-
getSemanticTokensFull
public SemanticTokens getSemanticTokensFull(DocumentContext documentContext, SemanticTokensParams params) Получить семантические токены для всего документа.- Parameters:
documentContext- Контекст документаparams- Параметры запроса- Returns:
- Семантические токены в дельта-кодированном формате
-
getSemanticTokensFullDelta
public Either<SemanticTokens, SemanticTokensDelta> getSemanticTokensFullDelta(DocumentContext documentContext, SemanticTokensDeltaParams params) Получить дельту семантических токенов относительно предыдущего результата.- Parameters:
documentContext- Контекст документаparams- Параметры запроса с previousResultId- Returns:
- Либо дельту токенов, либо полные токены, если предыдущий результат недоступен
-
getSemanticTokensRange
public SemanticTokens getSemanticTokensRange(DocumentContext documentContext, SemanticTokensRangeParams params) Получить семантические токены для указанного диапазона документа.- Parameters:
documentContext- Контекст документаparams- Параметры запроса с диапазоном- Returns:
- Семантические токены для указанного диапазона в дельта-кодированном формате
-
handleDocumentClosed
Обрабатывает событие закрытия документа в контексте сервера.При закрытии документа очищает кэшированные данные семантических токенов.
- Parameters:
event- событие закрытия документа
-
handleDocumentRemoved
Обрабатывает событие удаления документа из контекста сервера.При удалении документа очищает кэшированные данные семантических токенов.
- Parameters:
event- событие удаления документа
-
clearCache
Очищает кэшированные данные токенов для указанного документа.- Parameters:
uri- URI документа, для которого нужно очистить кэш
-