Neovim 0.5, guhertoyek nûjenkirî ya edîtorê Vim, heye

Piştî nêzîkê du salan ji pêşkeftinê, Neovim 0.5 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 encama vê yekê 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 vediqetî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.

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.

Hin guhertinên di guhertoya nû de:

  • Li Lua xerîdarek LSP-ya çêkirî (Protokola Pêşkêşkara Ziman) lê zêde kir, ku dikare ji bo analîz û temamkirina kodê bi karûbarên derveyî ve were girêdan.
  • API-yek zêde kir ku sêwirana tamponên veqetandinê kontrol bike.
  • API-yek lê zêde kir da ku etîketên dirêjkirî bikar bîne da ku guhartinên di asta baytê de bişopîne.
  • Piştgiriya berfireh ji bo Lua wekî zimanek ji bo pêşkeftina pêvekê û rêveberiya vesazkirinê.
  • Piştgiriya ceribandinê ji bo motora parskirina darê-sitter zêde kir.

Source: opennet.ru

Add a comment