github 1c-syntax/bsl-language-server v0.17.0

latest releases: v0.23.0-rc.6, v0.23.0-rc.5, v0.23.0-rc.4...
3 years ago

Общие изменения

  • Поддержка Java 15.
  • Добавлены диагностики:
  • Изменены диагностики:
    • CodeOutOfRegion - добавлен параметр checkUnknownModuleType, отвечающий за работу диагностики на неизвестных типах модулей (по умолчанию выключен);
    • NestedFunctionInParameters- время на исправление замечания уменьшено до 2 минут;
    • UnusedLocalMethod - добавлен тег Unused;
    • UnusedParameters - добавлен тег Unused;
    • UsingModalWindows:
      • добавлен тег Unused;
      • добавлен параметр forceModalityMode, отвечающий за включение игнорирования установленного в конфигурации режима модальности.
    • Typo: - в параметре userWordsToIgnore добавлена возможность указания исключений с пробелами
  • Исправлено позиционирование срабатывания диагностик на метаданные (такие как, например, корректность именования модуля). Диагностики больше не вешаются на пустой диапазон, а находят первый "значимый" участок кода.
  • Расширена конфигурация BSL Language Server - в настройку diagnostics добавлено свойство ordinaryAppSupport - флаг поддержки обычного приложения. Диагностики будут требовать учитывать особенности обычного приложения. По умолчанию включен.
  • Добавлены новые codeAction, позволяющие отключить срабатывание диагностики в строке, выделенном блоке или файле.
  • Добавлены операции сворачивания блоков:
    • комментарий в запросе
    • пакет запроса
  • В информацию о рассчитанных диагностиках документа добавлена информация об имеющихся тегах (см. https://microsoft.github.io/language-server-protocol/specifications/specification-current/#diagnostic). Клиенты могут использовать эту информацию для дополнительного выделения мест срабатывания диагностик. Например, VSCode зачеркивает места срабатывания deprecated-диагностик и затеняет места срабатывания unused-диагностик.
  • Для квик-фиксов, исправляющих ровно одно замечание, добавлена установка свойства isPreferred (см. https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_codeAction).
  • Исправлена не работавшая фильтрация по запрошенному типу codeAction в свойстве only.
  • В уведомлении textDocument/publishDiagnostics добавлена передача версии (version) документа.
  • В уведомлении textDocument/publishDiagnostics в списке передаваемых диагностик теперь указываются и их теги.
  • В ответ на запрос initialize добавлен параметр serverInfo - информация о сервере (имя и версия)
  • В ответе на запрос initialize добавлено уточнение по поддерживаемому режиму синхронизации текстовых документов, поддержки методов willSave/willSaveWaitUntil, необходимости отправки методов didOpen/didClose, а так же настройки для метода didSave (параметр textDocumentSync)
  • Исправлена и расширена документация.
  • Для запуска BSL Language Server в режиме format добавлена возможность указывать форматируемый файл, а не только каталог. Ключ указания пути к файлу/каталогу изменен на --src. Вариант --srcDir оставлен для совместимости и в будущем будет удален.
  • Улучшены процедуры поиска запроса в строке.
  • Исправлена ошибка форматирования, приводившая к добавлению пробела после унарного минуса.
  • Обновление значимых зависимостей:
    • встроенный словарь Language Tool обновлен до версии 5.1
    • Spring Boot обновлен до версии 2.3.5
    • MDClasses обновлен до версии 0.7.0
    • BSL Parser обновлен до версии 0.17.0

Изменения для разработчиков

  • Работа с codeLens в CodeLensProvider переведена на модель нескольких supplier. Каждый новый codeLens должен реализовать интерфейс CodeLensSupplier.
  • Работа с foldingRange в FoldingProvider переведена на модель нескольких supplier. Каждый новый foldingRange должен реализовать интерфейс FoldingRangeSupplier.
  • MethodDescription теперь содержит детальную информацию об описании метода. Доступны дополнительные секции:
    • назначение метода;
    • примеры использования;
    • варианты вызова;
    • список описаний параметров метода (с поддержкой иерархии параметров для сложны типов вида Массив, Структура и т. д.);
    • список описаний возвращаемых значений;
    • текст гиперссылки (см. ДругойМодуль.ДругойМетод).
  • В ParameterDefinition добавлен Range с определением параметра.
  • В DocumentContext добавлена работа с версиями контента и кэширование части данных. Перестройка данных контекста происходит только в том случае, если версия нового контента отличается от версии сохраненного контента или контент отсутствует.
  • Добавлен новый тег DiagnosticTag.UNUSED, который следует использовать для диагностик, срабатывающих на неиспользуемый код.
  • В параметры запроса textDocument/x-diagnostics добавлен необязательный Range. При его передаче запрос вернет диагностики, попадающие в указанный диапазон.
  • В ответ на запрос textDocument/x-diagnostics теперь возвращается Diagnostics

Don't miss a new bsl-language-server release

NewReleases is sending notifications on new releases.