Skip to content

Releases: 1c-syntax/bsl-language-server

v0.18.0

29 Apr 11:23
30af044
Compare
Choose a tag to compare

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

  • Поддержка Java 16.
  • Добавлена обработка запроса textDocument/hover для формирования всплывающей подсказки по методу/переменной под курсором.
  • Добавлена обработка запроса textDocument/definition для перехода к определению символа под курсором.
  • Добавлена обработка запроса textDocument/references для формирования списка ссылок на символ под курсором.
  • Добавлена обработка запросов textDocument/prepareCallHierarchy, callHierarchy/incomingCalls и callHierarchy/outgoingCalls для формирования иерархии вызовов методов.
  • Ответы на запросы textDocument/documentSymbol и workspace/symbol теперь возвращают список тегов символа.
  • Добавлено заполнение свойства codeDescription в данных диагностик, в котором хранится ссылка на документацию по диагностике.
  • Параметры siteRoot и useDevSite конфигурационного файла перенесены из объекта documentLink в корень конфигурации.
  • В параметр конфигурационного файла documentLink добавлен параметр showDiagnosticDescription, отвечающий за отображение старого механизма показа документации по диагностике в виде documentLink. По умолчанию - выключено.
  • В параметры регистрации "возможностей" (capabilities) сервера добавлена информация о DocumentSelector (где применимо). В качестве значения используется фильтр по языку с идентификатором bsl.
  • В параметры регистрации CodeActionProvider добавлен фильтр по поддерживаемым типам CodeAction (CodeActionKind). В качестве значения используется список из QuickFix и Refactor.
  • В параметры регистрации DocumentSymbolProvider добавлен label. В качестве значения используется строка BSL Language Server.
  • Добавлены диагностики:
  • Изменены диагностики:
    • Typo - значительно ускорено время работы диагностики;
    • Typo - из обработки убраны строки, напоминающие значения для форматной строки;
    • DeprecatedMethodCall - увеличена надежность срабатывания диагностики;
    • MissingTemporaryFileDeletion - в параметр searchDeleteFileMethod добавлены значения НачатьУдалениеФайлов и BeginDeletingFiles;
    • RedundantAccessToObject - исправлено ложное срабатывание при обращении из модуля менеджера к переменной с именем, совпадающим с именем метаданного;
    • RefOveruse - добавлена обработка обращения к ссылке от собственной таблицы, исправлено ложное срабатывание на обращениях с использованием таблиц из внешнего запроса;
    • StyleElementConstructors - исправлено ложное не-срабатывание, если конструктор цвета вложен в другой конструктор;
    • UnusedLocalMethod - добавлен параметр attachableMethodPrefixes, позволяющий указать префиксы имен методов, исключаемых из проверки;
    • UsingHardcodePath - оптимизация работы;
    • UsingHardcodeSecretInformation - оптимизация работы;
  • Добавлена возможность запуска анализа проекта в режиме замера производительности. Подробнее в документации.
  • Добавлена возможность передавать настройки Spring-приложения как аргументы командной строки (например, --spring.config.location).
  • Действие отключения диагностик в файле больше не предлагает выключить диагностики, пришедшие не от BSL Language Server.
  • Добавлена обработка ситуации, когда в запрос инициализации сервера в качестве значения workspaceFolders приходит значение null.
  • Исправлен разбор многострочных строк с разрывом инструкцией препроцессору (#Вставка и т.п.).
  • Обновление значимых зависимостей:
    • встроенный словарь Language Tool обновлен до версии 5.3;
    • Spring Boot обновлен до версии 2.4.5;
    • LSP4J обновлен до 0.12.0;
    • MDClasses обновлен до версии 0.8.0;
    • BSL Parser обновлен до версии 0.18.0;
  • Обновлены сайт и документация.
  • Перевод проекта переведен на платформу CrowdIn.

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

Read more

v0.18.0-rc.2

21 Apr 10:41
afdfa23
Compare
Choose a tag to compare
v0.18.0-rc.2 Pre-release
Pre-release
Исправление поиска ссылок на модулях с именем Module.bsl, но не общих…

v0.18.0-rc.1

12 Apr 14:41
1e4d4ad
Compare
Choose a tag to compare
v0.18.0-rc.1 Pre-release
Pre-release
fixup tests

v0.18.0-alpha.2

04 Apr 11:51
ca997a6
Compare
Choose a tag to compare
v0.18.0-alpha.2 Pre-release
Pre-release
Merge pull request #1567 from artbear/str-template-1235

v0.18.0-alpha.1

30 Mar 08:04
3fb35dd
Compare
Choose a tag to compare
v0.18.0-alpha.1 Pre-release
Pre-release
Исправлен англ регэксп для Формат

v0.17.1

14 Dec 08:47
d0837bd
Compare
Choose a tag to compare
  • Исправлено ложное срабатывание диагностики RedundantAccessToObject на обращении к ЭтотОбъект по индексу

v0.17.0

11 Dec 15:03
b93ffcf
Compare
Choose a tag to compare

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

  • Поддержка 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

v0.17.0-RC5

09 Dec 21:23
becfbc5
Compare
Choose a tag to compare
v0.17.0-RC5 Pre-release
Pre-release
Fix up

v0.17.0-RC4

09 Dec 15:20
d9223b8
Compare
Choose a tag to compare
v0.17.0-RC4 Pre-release
Pre-release
Merge pull request #1478 from 1c-syntax/fix/issue1452

v0.17.0-RC3

04 Dec 09:14
67c8331
Compare
Choose a tag to compare
v0.17.0-RC3 Pre-release
Pre-release
mdclasses bump