Class AbstractSDBLDocumentHighlightSupplier

java.lang.Object
com.github._1c_syntax.bsl.languageserver.documenthighlight.AbstractSDBLDocumentHighlightSupplier
All Implemented Interfaces:
DocumentHighlightSupplier
Direct Known Subclasses:
SDBLBracketDocumentHighlightSupplier, SDBLCaseDocumentHighlightSupplier, SDBLJoinDocumentHighlightSupplier

public abstract class AbstractSDBLDocumentHighlightSupplier extends Object implements DocumentHighlightSupplier
Базовый класс для поставщиков подсветки в SDBL-запросах.

Предоставляет общую функциональность для работы с запросами и подсветки токенов.

  • Constructor Details

    • AbstractSDBLDocumentHighlightSupplier

      public AbstractSDBLDocumentHighlightSupplier()
  • Method Details

    • findTokenInQueries

      protected Optional<AbstractSDBLDocumentHighlightSupplier.QueryTokenInfo> findTokenInQueries(Position position, DocumentContext documentContext)
      Находит токен на позиции курсора в одном из запросов документа.

      Поддерживает как позицию внутри токена, так и позицию сразу после токена (когда курсор стоит справа от токена).

      Parameters:
      position - позиция курсора
      documentContext - контекст документа
      Returns:
      информация о токене, если найден
    • addTokenHighlight

      protected void addTokenHighlight(List<DocumentHighlight> highlights, @Nullable Token token)
      Добавляет подсветку для токена.
      Parameters:
      highlights - список подсветок
      token - токен для подсветки (может быть null)
    • addTerminalHighlight

      protected void addTerminalHighlight(List<DocumentHighlight> highlights, @Nullable TerminalNode terminalNode)
      Добавляет подсветку для терминального узла.
      Parameters:
      highlights - список подсветок
      terminalNode - терминальный узел для подсветки (может быть null)