Class CodeLensProvider

java.lang.Object
com.github._1c_syntax.bsl.languageserver.providers.CodeLensProvider

@Component public class CodeLensProvider extends Object
Провайдер, обрабатывающий запросы textDocument/codeLens, codeLens/resolve, а так же отвечающий за отправку запроса workspace/codeLens/refresh.
See Also:
  • Constructor Details

  • Method Details

    • init

      @PostConstruct protected void init()
    • getCodeLens

      public List<CodeLens> getCodeLens(DocumentContext documentContext)
      Получение списка CodeLens в документе.
      Parameters:
      documentContext - Контекст документа.
      Returns:
      Список линз.
    • resolveCodeLens

      public CodeLens resolveCodeLens(DocumentContext documentContext, CodeLens unresolved, CodeLensData data)
      Провести операцию разрешения линзы (заполнение свойства CodeLens.setCommand(Command)).

      При разрешении линзы свойство CodeLens.setData(Object) очищается с целью уменьшения трафика между клиентом и сервером.

      Parameters:
      documentContext - Контекст документа.
      unresolved - Неразрешенная линза.
      data - Данные линзы.
      Returns:
      Разрешенная линза.
    • handleEvent

      Обработчик события LanguageServerConfigurationChangedEvent.

      В случае поддержки запроса подключенным клиентом инициирует запрос workspace/codeLens/refresh.

      Parameters:
      event - Событие
    • extractData

      public CodeLensData extractData(CodeLens codeLens)
      Извлечь данные линзы из линзы.

      Возвращает объект данных типа, с которым был зарегистрирован сапплаер линзы (параметр-тип класса сапплаера).

      Parameters:
      codeLens - Линза, из которой необходимо извлечь данные.
      Returns:
      Извлеченные данные линзы.
    • refreshCodeLenses

      public void refreshCodeLenses()
      Отправить запрос на обновление линз кода.