Liberasyon Neovim 0.7.0, yon vèsyon modènize editè Vim

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

Youn nan pwoblèm ak Vim ki te pouse kreyasyon Neovim se te yon baz kòd monolitik ki gonfle, ki gen plis pase 300 mil liy kòd C (C89). Se sèlman kèk moun ki konprann tout nuans yo nan Vim kodbaz la, epi tout chanjman yo kontwole pa yon sèl mentenans, ki fè li difisil pou kenbe ak amelyore editè a. Olye de kòd ki te bati nan nwayo Vim pou sipòte entèfas, Neovim pwopoze w sèvi ak yon kouch inivèsèl ki pèmèt ou kreye koòdone lè l sèvi avèk divès kalite zouti.

Plugins pou Neovim yo lanse kòm pwosesis separe, pou entèraksyon ak fòma MessagePack yo itilize. Se entèraksyon ak grefon yo te pote asynchrone, san yo pa bloke eleman debaz yo nan editè a. Pou jwenn aksè nan Plugin la, yo ka itilize yon priz TCP, i.e. ka plugin a dwe kouri sou yon sistèm ekstèn. An menm tan an, Neovim rete bak konpatib ak Vim, kontinye sipòte Vimscript (Lua yo ofri kòm yon altènatif) ak sipòte koneksyon pou pifò grefon Vim estanda. Karakteristik avanse Neovim yo ka itilize nan grefon ki konstwi lè l sèvi avèk API espesifik Neovim.

Kounye a, apeprè 130 grefon espesifik yo te deja prepare, lyezon yo disponib pou kreye grefon ak aplike koòdone lè l sèvi avèk divès langaj pwogramasyon (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) ak kad (Qt, ncurses, Node .js, Electron, GTK). Plizyè opsyon koòdone itilizatè yo ap devlope. Add-ons GUI yo anpil tankou grefon, men kontrèman ak grefon, yo kòmanse apèl nan fonksyon Neovim, pandan y ap rele grefon soti nan Neovim.

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

Sous: opennet.ru

Add nouvo kòmantè