Interface SemanticTokensSupplier

All Known Implementing Classes:
AbstractPlatformMemberSemanticTokensSupplier, AnnotationSemanticTokensSupplier, BslDocSemanticTokensSupplier, CommentSemanticTokensSupplier, GlobalScopeSemanticTokensSupplier, LexicalSemanticTokensSupplier, MethodCallSemanticTokensSupplier, NewExpressionSemanticTokensSupplier, PlatformGlobalMethodSemanticTokensSupplier, PlatformMemberMethodCallSemanticTokensSupplier, PlatformMemberPropertyAccessSemanticTokensSupplier, PreprocessorSemanticTokensSupplier, StringSemanticTokensSupplier, SymbolsSemanticTokensSupplier

public interface SemanticTokensSupplier
Базовый интерфейс для наполнения SemanticTokensProvider данными о семантических токенах.
  • Method Details

    • getSemanticTokens

      List<SemanticTokenEntry> getSemanticTokens(DocumentContext documentContext)
      Получить семантические токены для документа.
      Parameters:
      documentContext - Контекст документа
      Returns:
      Список семантических токенов
    • getSemanticTokens

      default List<SemanticTokenEntry> getSemanticTokens(DocumentContext documentContext, Range range)
      Получить семантические токены только для указанного диапазона документа (запрос textDocument/semanticTokens/range).

      Реализация по умолчанию игнорирует диапазон и возвращает токены всего документа — провайдер всё равно отфильтрует их по диапазону. Дорогие сапплаеры (с инференсом типов на каждый узел) переопределяют этот метод, чтобы не выполнять тяжёлую работу за пределами видимой области.

      Parameters:
      documentContext - Контекст документа
      range - Запрошенный диапазон (всегда задан вызывающим)
      Returns:
      Список семантических токенов в пределах диапазона