Домой Софт macOS и Linux Релиз Neovim 0.12: встроенный менеджер плагинов и новый HTTP-клиент

Релиз Neovim 0.12: встроенный менеджер плагинов и новый HTTP-клиент

Значительное обновление текстового редактора: более 340 задач, встроенные инструменты управления пакетами и сетевой клиент.

Релиз Neovim 0.12: встроенный менеджер плагинов и новый HTTP-клиент
Релиз Neovim 0.12: встроенный менеджер плагинов и новый HTTP-клиент — иллюстрация к материалу. Источник: linux.org.ru

29 марта 2026 года состоялся значимый релиз популярного текстового редактора Neovim версии 0.12, а уже 6 апреля разработчики выпустили исправленную версию 0.12.1. Данное обновление стало одним из самых масштабных за последнее время: проект получил более 340 исправлений и нововведений, включая долгожданный встроенный менеджер плагинов, нативный HTTP-клиент, команду для перезапуска, а также глубокую переработку LSP-клиента и экспериментальную систему сообщений.

Несовместимые изменения

Перед обновлением пользователям стоит ознакомиться с документацией, так как некоторые старые API были изменены или объявлены устаревшими.

Встроенный менеджер плагинов (vim.pack)

В систему добавлен экспериментальный менеджер плагинов vim.pack. Его ключевые возможности включают:

  • Использование lockfile для жесткой фиксации версий зависимостей.
  • Поддержка офлайн-обновлений и указание целевых версий.
  • Интерактивный буфер подтверждения с удобной навигацией по [[/]] и поддержкой code actions.
  • Получение метаданных VCS через метод vim.pack.get.
  • Отображение прогресса выполнения операций через nvim_echo.
  • Полная интеграция с утилитой checkhealth.

LSP: масштабное обновление клиента

Встроенный LSP-клиент претерпел серьезную модернизацию:

  • Появилась новая команда :lsp для интерактивного управления запущенными клиентами.
  • Управление серверами теперь возможно через функции vim.lsp.enable и vim.lsp.is_enabled.
  • Реализовано встроенное автодополнение в режиме вставки с поддержкой completionItem/resolve, предпросмотром сниппетов, цветов и меток labelDetails.
  • Добавлено инкрементальное выделение через textDocument/selectionRange, работающее в том числе в operator-pending режиме.
  • Функционал textDocument/documentColor теперь включен по умолчанию, также добавлена поддержка colorPresentation.
  • Расширена поддержка протоколов: textDocument/documentLink, inlineCompletion и onTypeFormatting.
  • Отображение codeLens реализовано через виртуальные строки при помощи decoration provider.
  • Значительно улучшена работа с семантическими токенами, включая многострочные запросы.
  • Внедрена поддержка Workspace-диагностики, динамической регистрации и метода diagnostic/refresh.
  • Добавлена подсветка переименовываемых символов и поддержка linked editing ranges.
  • Установлены новые маппинги по умолчанию: grt — переход к определению типа, grx — запуск codeLens.
  • LSP-клиенты теперь автоматически отключаются при смене типа файла (filetype).
  • Методы vim.lsp.stop_client и vim.lsp.util.stylize_markdown официально объявлены устаревшими.

Команды :restart и :detach

Пользователи получили новую команду :restart, которая позволяет перезапустить Neovim с переподключением текущего интерфейса пользователя (UI). Данная функция, как и :detach, теперь полноценно поддерживается на всех платформах, включая Windows.

Сеть (vim.net)

В ядро редактора интегрирован HTTP-клиент vim.net. С помощью команды :edit url или функции vim.net.request можно выполнять сетевые запросы. При использовании аргумента outbuf ответ от сервера будет записан непосредственно в указанный буфер.

Neovim 0.12.1: исправления

Корректирующий выпуск от 6 апреля 2026 года содержит 26 исправлений ошибок. Главным нововведением стала расширенная функциональность :restart, которая теперь корректно переподключает все активные UI-сессии.

Источник: https://www.linux.org.ru