Derxistina Neovim 0.7.0, guhertoyek nûjenkirî ya edîtorê Vim

Опубликован релиз Neovim 0.7.0, ответвления от редактора Vim, сфокусированного на повышении расширяемости и гибкости. В рамках проекта уже более семи лет проводится переработка кодовой базы Vim, в результате которой вносятся изменения, упрощающие сопровождение кода, предоставляющие средства разделения труда между несколькими мэйнтейнерами, отделяющие интерфейс от базовой части (интерфейс можно менять не трогая внутренности) и реализующие новую расширяемую архитектуру на основе плагинов. Оригинальные наработки проекта распространяются под лицензией Apache 2.0, а базовая часть под лицензией Vim. Готовые сборки подготовлены для Linux (appimage), Windows и macOS.

Yek ji pirsgirêkên bi Vim-ê ku bû sedema afirandina Neovim-ê, bingeha koda wê ya şêlandî, yekparêz bû, ku ji zêdetirî 300 hezar rêzikên koda C (C89) pêk tê. Tenê çend kes hemî nuwazeyên bingeha koda Vim fam dikin, û hemî guhertin ji hêla yek parêzgerê ve têne kontrol kirin, ku ev yek parastin û çêtirkirina edîtorê dijwar dike. Li şûna koda ku di bingeha Vim-ê de hatî çêkirin da ku GUI-yê piştgirî bike, Neovim pêşniyar dike ku meriv qatek gerdûnî bikar bîne ku dihêle hûn bi karanîna amûrên cûrbecûr navrûyan biafirînin.

Pêvekên ji bo Neovim wekî pêvajoyên cihêreng têne destpêkirin, ji bo danûstendina ku bi formata MessagePack re tê bikar anîn. Têkiliya bi pêvekan re bi asynchronously pêk tê, bêyî astengkirina pêkhateyên bingehîn ên edîtorê. Ji bo gihîştina pêvekê, soketek TCP dikare were bikar anîn, ango. pêvek dikare li ser pergalek derveyî were xebitandin. Di heman demê de, Neovim bi Vim re lihevhatî paşve dimîne, piştgiriya Vimscript didomîne (Lua wekî alternatîfek tê pêşkêş kirin) û girêdanên ji bo piraniya pêvekên standard Vim piştgirî dike. Taybetmendiyên pêşkeftî yên Neovim dikarin di pêvekên ku bi karanîna API-yên Neovim-taybet hatine çêkirin de werin bikar anîn.

Heya nuha, nêzîkê 130 pêvekên taybetî jixwe hatine amade kirin, girêdan ji bo afirandina pêvekan û pêkanîna pêvekan bi karanîna zimanên bernamenûs ên cihêreng (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) û çarçove hene (Qt, ncurses, Node .js, Elektron, GTK). Gelek vebijarkên navbeynkariya bikarhêner têne pêşve xistin. Pêvekên GUI pir mîna pêvekan in, lê berevajî pêvekan, ew bang li fonksiyonên Neovim dikin, dema ku pêvek ji hundurê Neovim têne gazî kirin.

В новой версии предложена начальная поддержка удалённой работы, позволяющая запустить Neovim на сервере и подключаться к нему с клиентской системы, используя отдельный ui_client. Среди других изменений: прекращена поддержка Python 2, разрешено использовании Lua-функций в keymap, добавлены новые команды в API, значительно расширены возможности по использованию языка Lua для разработки плагинов и управления конфигурацией, улучшены средства диагностики проблем в коде, добавлена поддержка глобальной строки состояния, проведены оптимизации производительности. Расширены возможности встроенного LSP-клиента (Language Server Protocol), который можно использовать для выноса логики анализа и автодополнения кода на внешние серверы.

Source: opennet.ru

Add a comment