Новости и события » Hi-Tech » Доступен Neovim 0.2, модернизированный вариант редактора Vim

Доступен Neovim 0.2, модернизированный вариант редактора Vim

После полутора лет разработки сформирован релиз Neovim 0.2, ответвления от редактора Vim, сфокусированного на повышении расширяемости и гибкости. В рамках проекта Neovim уже более трех лет проводится агрессивная переработка кодовой базы Vim, в результате которой вносятся изменения, упрощающие сопровождение кода, предоставляющие средства разделения труда между несколькими мэйнтейнерами, отделяющие интерфейс от базовой части (интерфейс можно менять не трогая внутренности) и реализующие новую расширяемую архитектуру на основе плагинов.

Из проблем Vim, побудивших к созданию Neovim, отмечается раздутая монолитная кодовая база, состоящая более чем из 300 тысяч строк кода на языке Си (C89). Во всех нюансах кодовой базы Vim разбирается всего несколько человек, а все изменения контролирует один мэйнтейнер, что затрудняет сопровождение и работу над усовершенствованием редактора. Вместо встроенного в ядро Vim кода для поддержки GUI в Neovim предлагается использовать универсальную прослойку, позволяющую создавать интерфейсы с использованием различных тулкитов.

Плагины к Neovim запускаются как отдельные процессы, для взаимодействия с которыми используется формат MessagePack. Взаимодействие с плагинами производится в асинхронном режиме, без блокирования базовых компонентов редактора. Для обращения к плагину может использоваться TCP-сокет, т. е. плагин может запускаться на внешней системе. При этом Neovim остается обратно совместимым с Vim, продолжает поддерживать Vimscript (в качестве альтернативы предлагается Lua) и поддерживает подключения большинства штатных плагинов Vim. Расширенные возможности Neovim могут быть использованы в плагинах, построенных с использованием API, специфичного для Neovim.

В настоящее время уже подготовлено более 50 специфичных плагинов, доступны биндинги для создания плагинов и реализаций интерфейсов с использованием различных языков программирования (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) и фреймворков (Qt5, ncurses, Node.js, Electron, GTK+). Развивается несколько вариантов пользовательского интерфейса. GUI-надстройки во многом напоминают плагины, но, в отличие от плагинов, они инициируют вызов функций Neovim, в то время как плагины вызываются из Neovim.

В новой версии перенесены некоторые возможности Vim 8, обеспечена полноценная поддержка платформы Windows, усовершенствован встроенный эмулятор терминала и представлена очередная порция переработок, связанных с модернизацией и рефакторингом API. Оригинальные наработки проекта распространяются под лицензией Apache 2.0, а базовая часть под лицензией Vim.


Перманентный макияж: секрет красоты на каждый день

Перманентный макияж: секрет красоты на каждый день

Перманентный макияж – это современная косметическая процедура, позволяющая сохранить безупречный образ в любое время суток. Он уже давно стал незаменимым решением для тех, кто ценит свое время и хочет выглядеть ухоженно без лишних усилий. Давайте...

сегодня 19:24

Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх