Fa'asa'olotoina o le Neovim 0.7.0, o se fa'aonaponei fa'aonaponei o le fa'atonu Vim

Neovim 0.7.0 ua faʻasaʻolotoina, o se tui o le Vim faatonu na taulaʻi i le faʻalauteleina o le faʻalauteleina ma le fetuutuunai. O le poloketi o loʻo toe faʻaaogaina le Vim code base mo le sili atu ma le fitu tausaga, o se taunuuga o suiga ua faia e faafaigofie ai le tausiga o tulafono, maua ai se auala e vaeluaina ai galuega i le va o le tele o tagata tausia, vavae ese le atinaʻe mai le vaega autu (o le atinaʻe e mafai ona suia e aunoa ma le paʻi atu i totonu) ma faʻatino se fausaga fou faʻalauteleina e faʻavae i luga o plugins. O uluai atinaʻe o le poloketi o loʻo tufatufa atu i lalo o le Apache 2.0 laisene, ma o le vaega autu o loʻo tufatufa atu i lalo o le laisene Vim. O fa'apotopotoga ua saunia ua saunia mo Linux (appimage), Windows ma macOS.

O se tasi o faʻafitauli ma Vim na mafua ai le fausiaina o Neovim o lona faʻamaʻi, monolithic code base, e aofia ai le sili atu ma le 300 afe laina o le C (C89) code. E naʻo ni nai tagata e malamalama i faʻamatalaga uma o le Vim codebase, ma o suiga uma e pulea e le tasi e tausia, lea e faigata ai ona tausia ma faʻaleleia le faatonu. Nai lo le faʻailoga ua fausia i totonu o le Vim core e lagolago ai le GUI, Neovim e faʻatatau i le faʻaaogaina o se laulau lautele e mafai ai ona e fatuina fesoʻotaʻiga e faʻaaoga ai meafaigaluega eseese.

O mea fa'apipi'i mo Neovim ua fa'alauiloaina o ni faiga eseese, mo le fegalegaleai lea e fa'aoga ai le MessagePack format. Fegalegaleaiga ma plugins e faia asynchronously, e aunoa ma le poloka o vaega autu o le faatonu. Ina ia maua le faʻapipiʻi, e mafai ona faʻaogaina se socket TCP, i.e. e mafai ona tamoe le plugin i luga o se faiga fafo. I le taimi lava e tasi, o loʻo tumau pea Neovim i tua e fetaui ma Vim, faʻaauau ona lagolagoina Vimscript (Lua e ofoina atu e fai ma sui) ma lagolagoina fesoʻotaʻiga mo le tele o faʻapipiʻi Vim masani. E mafai ona fa'aogaina foliga fa'apitoa a Neovim i fa'apipi'i fausia e fa'aaoga ai API fa'apitoa Neovim.

I le taimi nei, e tusa ma le 130 faʻapipiʻi faʻapitoa ua uma ona saunia, faʻapipiʻi avanoa mo le fatuina o plugini ma le faʻaogaina o fesoʻotaʻiga e faʻaaoga ai gagana eseese polokalame (C ++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) ma faʻatulagaga (Qt, ncurses, Node .js, Electron, GTK). O lo'o fa'atupuina le tele o avanoa fa'aoga. GUI faʻaopoopoga e pei o plugins, ae le pei o plugins, latou te amataina valaʻau i galuega Neovim, aʻo faʻapipiʻi e valaʻau mai totonu o Neovim.

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

puna: opennet.ru

Faaopoopo i ai se faamatalaga