Class FormatProvider
java.lang.Object
com.github._1c_syntax.bsl.languageserver.providers.FormatProvider
Провайдер для форматирования исходного кода.
Обрабатывает запросы textDocument/formatting, textDocument/rangeFormatting и
textDocument/rangesFormatting.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetFormatting(DocumentFormattingParams params, DocumentContext documentContext) getNewText(List<Token> tokens, Locale languageLocale, Range range, int startCharacter, FormattingOptions options) getOnTypeFormatting(DocumentOnTypeFormattingParams params, DocumentContext documentContext) Возвращает правки форматирования при наборе указанного символа.getRangeFormatting(DocumentRangeFormattingParams params, DocumentContext documentContext) getRangesFormatting(DocumentRangesFormattingParams params, DocumentContext documentContext) Возвращает правки форматирования сразу для нескольких диапазонов документа.void
-
Constructor Details
-
FormatProvider
@ConstructorProperties("configuration") public FormatProvider(LanguageServerConfiguration configuration)
-
-
Method Details
-
getFormatting
public List<TextEdit> getFormatting(DocumentFormattingParams params, DocumentContext documentContext) -
getOnTypeFormatting
public List<TextEdit> getOnTypeFormatting(DocumentOnTypeFormattingParams params, DocumentContext documentContext) Возвращает правки форматирования при наборе указанного символа.Поддерживаются триггеры:
"\n"(Enter) — переформатирование предыдущей строки;";"— переформатирование завершённого оператора текущей строки до позиции курсора.
- Parameters:
params- параметры запроса onTypeFormattingdocumentContext- контекст текущего документа- Returns:
- список правок (одна-единственная замена соответствующего диапазона) или пустой список, если форматировать нечего
-
getRangeFormatting
public List<TextEdit> getRangeFormatting(DocumentRangeFormattingParams params, DocumentContext documentContext) -
getRangesFormatting
public List<TextEdit> getRangesFormatting(DocumentRangesFormattingParams params, DocumentContext documentContext) Возвращает правки форматирования сразу для нескольких диапазонов документа.Обрабатывает запрос
textDocument/rangesFormatting(LSP 3.18): каждый диапазон изDocumentRangesFormattingParams.getRanges()форматируется независимо тем же алгоритмом, что и одиночныйtextDocument/rangeFormatting, с одними и теми же протокольнымиFormattingOptions. Правки от всех диапазонов объединяются в общий список.- Parameters:
params- параметры запроса rangesFormatting с набором диапазонов и опциямиdocumentContext- контекст текущего документа- Returns:
- объединённый список правок по всем переданным диапазонам; пустой, если форматировать нечего
-
handleEvent
-
getNewText
-