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

Neovim 0.7.0 hate berdan, forkek edîtorê Vim-ê ku balê dikişîne ser zêdekirina berfirehbûn û nermbûnê. Proje ji heft sal zêdetir e ku bingeha koda Vim-ê ji nû ve dixebitîne, di encamê de guhertin têne çêkirin ku lênihêrîna kodê hêsan dike, navgînek dabeşkirina kar di navbera çend parêzgeran de peyda dike, navberê ji beşa bingehîn veqetîne (navber dikare bibe guheztin bêyî destwerdana hundurîn) û mîmariyek nû ya berfirehkirî ya li ser bingeha pêvekan bicîh bikin. Pêşveçûnên bingehîn ên projeyê di bin lîsansa Apache 2.0 de têne belav kirin, û beşa bingehîn di bin lîsansa Vim de têne belav kirin. Civînên amadekirî ji bo Linux (appimage), Windows û macOS-ê têne amadekirin.

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.

Guhertoya nû ji bo xebata ji dûr ve piştgirîya destpêkê pêşkêşî dike, ku dihêle hûn Neovim li ser serverê bimeşînin û ji pergala xerîdar ve bi karanîna ui_clientek veqetandî ve girêbidin. Guhertinên din ev in: piştgirî ji bo Python 2 hate sekinandin, karanîna fonksiyonên Lua di keymap de destûr hate dayîn, fermanên nû li API-yê hatine zêdekirin, şiyana karanîna zimanê Lua ji bo pêşkeftina pêvekan û rêveberiya veavakirinê bi girîngî berfireh bûye, Amûrên ji bo teşhîskirina pirsgirêkên di kodê de çêtir bûne, piştgirî ji bo barika rewşa gerdûnî hatî zêdekirin, xweşbîniyên performansê hatine kirin. Kapasîteyên xerîdar LSP-ya çêkirî (Protokola Pêşkêşkara Ziman) hatine berfireh kirin, ku dikare were bikar anîn da ku mentiqê analîzê û temamkirina kodê veguhezîne serverên derveyî.

Source: opennet.ru

Add a comment