Class FormatProvider

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

@Component public final class FormatProvider extends Object
Провайдер для форматирования исходного кода.

Обрабатывает запросы textDocument/formatting и textDocument/rangeFormatting.

See Also:
  • Constructor Details

  • Method Details

    • getFormatting

      public List<TextEdit> getFormatting(DocumentFormattingParams params, DocumentContext documentContext)
    • getOnTypeFormatting

      public List<TextEdit> getOnTypeFormatting(DocumentOnTypeFormattingParams params, DocumentContext documentContext)
      Возвращает правки форматирования при наборе указанного символа.

      Поддерживаются триггеры:

      • "\n" (Enter) — переформатирование предыдущей строки;
      • ";" — переформатирование завершённого оператора текущей строки до позиции курсора.
      Диапазон правки никогда не пересекает позицию ввода, чтобы не «дёргать» курсор пользователя.
      Parameters:
      params - параметры запроса onTypeFormatting
      documentContext - контекст текущего документа
      Returns:
      список правок (одна-единственная замена соответствующего диапазона) или пустой список, если форматировать нечего
    • getRangeFormatting

      public List<TextEdit> getRangeFormatting(DocumentRangeFormattingParams params, DocumentContext documentContext)
    • handleEvent

    • getNewText

      public String getNewText(List<Token> tokens, Locale languageLocale, Range range, int startCharacter, FormattingOptions options)