Class StringSemanticTokensSupplier
java.lang.Object
com.github._1c_syntax.bsl.languageserver.semantictokens.StringSemanticTokensSupplier
- All Implemented Interfaces:
SemanticTokensSupplier
@Component
public class StringSemanticTokensSupplier
extends Object
implements SemanticTokensSupplier
Сапплаер семантических токенов для строк BSL и запросов SDBL.
Централизованно обрабатывает все строковые токены и разбивает их на подтокены в зависимости от контекста:
- Запросы SDBL: разбивает строки на части вокруг токенов запроса и добавляет токены SDBL
- НСтр/NStr: подсвечивает языковые ключи (ru=, en=)
- СтрШаблон/StrTemplate: подсвечивает плейсхолдеры (%1, %2)
- Конфигурируемые функции-шаблонизаторы: подсвечивает плейсхолдеры (%1, %2)
- Лямбда-выражения (только для .os файлов): подсвечивает BSL-код в теле лямбды
- Обычные строки: выдаёт токен для всей строки
-
Constructor Summary
ConstructorsConstructorDescriptionStringSemanticTokensSupplier(SemanticTokensHelper helper, LanguageServerConfiguration configuration, ServerContext serverContext, SemanticTokensLegend legend, ObjectProvider<List<SemanticTokensSupplier>> suppliersProvider) -
Method Summary
Modifier and TypeMethodDescriptiongetSemanticTokens(DocumentContext documentContext) Получить семантические токены для документа.
-
Constructor Details
-
StringSemanticTokensSupplier
@ConstructorProperties({"helper","configuration","serverContext","legend","suppliersProvider"}) public StringSemanticTokensSupplier(SemanticTokensHelper helper, LanguageServerConfiguration configuration, ServerContext serverContext, SemanticTokensLegend legend, ObjectProvider<List<SemanticTokensSupplier>> suppliersProvider)
-
-
Method Details
-
getSemanticTokens
Description copied from interface:SemanticTokensSupplierПолучить семантические токены для документа.- Specified by:
getSemanticTokensin interfaceSemanticTokensSupplier- Parameters:
documentContext- Контекст документа- Returns:
- Список семантических токенов
-