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

weşandin berdan Neovim 0.4, forkek ji edîtorê Vim, bal kişand li ser zêdekirina berfirehbûn û nermbûnê. Pêşveçûnên bingehîn ên projeyê belavbûn di bin lîsansa Apache 2.0, û beşa bingehîn di bin lîsansa Vim de.

Wekî beşek ji projeya Neovim, bingeha koda Vim zêdetirî pênc sal e ku ji nû ve tê xebitandin, di encamê de guhertin têne çêkirin ku lênihêrîna kodê hêsan dike, navgînek dabeşkirina kedê di navbera çend parêzgeran de peyda dike, navberê ji bingehê vediqetîne. beş (navber dikare bêyî têkilkirina hundurên hundurîn were guheztin) û nû bicîh bikin mîmariya berfireh li ser bingeha pêvekan.

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.

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

Hin guhertinên di guhertoya nû:

  • Beşek mezin a fonksiyonên API-ya nû û bûyerên navbeynkariya bikarhêner lê zêde kirin.
  • Ji bo pêşxistina pêvekên bi zimanê Lua pirtûkxaneyek standardek nû Nvim-Lua lê zêde kir.
  • Pêşveçûna protokola navbeynkariya bikarhêner berdewam dike, li şûna karakterên kesane agahdariya li ser ekranê di asta rêzan de nûve dike.
  • Piştgiriyek ji bo pencereyên pêvekirî yên bêkêmasî zêde kir, ku dikarin li her cîhî werin danîn, werin girêdan, bi tamponên guherandinê yên kesane ve werin girêdan û di moda Multigrid de werin kom kirin.
  • Vebijarka 'pumblend' ji bo pêşekên dakêşana şefaf zêde kir.

Source: opennet.ru

Add a comment