Ukukhishwa kwe-Neovim 0.7.0, inguqulo yesimanje yomhleli we-Vim

I-Neovim 0.7.0 ikhishiwe, imfoloko yomhleli we-Vim egxile ekwandiseni ukunwebeka nokuvumelana nezimo. Le phrojekthi ibisebenza kabusha isisekelo sekhodi ye-Vim iminyaka engaphezu kweyisikhombisa, ngenxa yalokho izinguquko ezenziwayo ezenza kube lula ukugcinwa kwekhodi, zinikeze indlela yokuhlukanisa umsebenzi phakathi kwabanakekeli abaningana, zihlukanise isikhombimsebenzisi nengxenye yesisekelo (i-interface ingaba ishintshiwe ngaphandle kokuthinta abangaphakathi) futhi isebenzise i-architecture entsha enwebekayo ngokusekelwe kuma-plugin. Intuthuko yasekuqaleni yephrojekthi isatshalaliswa ngaphansi kwelayisensi ye-Apache 2.0, futhi ingxenye eyisisekelo isatshalaliswa ngaphansi kwelayisensi ye-Vim. Imihlangano eseyilungile ilungiselelwa i-Linux (appimage), iWindows ne-macOS.

Enye yezinkinga nge-Vim edale ukuthi kudalwe i-Neovim isisekelo sayo sekhodi ekhukhumele, esine-monolithic, ehlanganisa imigqa engaphezu kwezinkulungwane ezingama-300 yekhodi C (C89). Abantu abambalwa kuphela abaqonda wonke ama-nuances we-Vim codebase, futhi zonke izinguquko zilawulwa umnakekeli oyedwa, okwenza kube nzima ukugcina nokuthuthukisa umhleli. Esikhundleni sekhodi eyakhelwe ku-Vim core ukusekela i-GUI, i-Neovim ihlongoza ukusebenzisa isendlalelo sendawo yonke esikuvumela ukuthi udale izixhumanisi usebenzisa amathuluzi ahlukahlukene.

Ama-plugin e-Neovim ethulwa njengezinqubo ezihlukene, zokusebenzelana lapho kusetshenziswa ifomethi ye-MessagePack. Ukusebenzisana nama-plugin kwenziwa ngokulinganayo, ngaphandle kokuvimbela izingxenye eziyisisekelo zomhleli. Ukuze ufinyelele i-plugin, isokhethi ye-TCP ingasetshenziswa, i.e. i-plugin ingasebenza kusistimu yangaphandle. Ngasikhathi sinye, i-Neovim ihlala ihlehla ihambisana ne-Vim, iyaqhubeka nokusekela i-Vimscript (i-Lua inikezwa njengenye indlela) futhi isekela ukuxhumana kwama-plugin amaningi we-Vim ajwayelekile. Izici ezithuthukile ze-Neovim zingasetshenziswa kuma-plugin akhiwe kusetshenziswa ama-Neovim-specific API.

Njengamanje, cishe ama-plugin athile angu-130 asevele elungisiwe, izibopho ziyatholakala ekudaleni ama-plugin nokusebenzisa izixhumanisi kusetshenziswa izilimi ezihlukahlukene zokuhlela (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) kanye nezinhlaka (Qt, ncurses, Node .js, Electron, GTK). Izinketho zokusetshenziswa kubonwa ezimbalwa ziyathuthukiswa. Izengezo ze-GUI zifana nama-plugin, kodwa ngokungafani nama-plugin, aqala izingcingo eziya emisebenzini ye-Neovim, kuyilapho ama-plugin ebizwa kusukela ngaphakathi kwe-Neovim.

Inguqulo entsha inikeza ukusekelwa kokuqala komsebenzi oqhelile, okukuvumela ukuthi usebenzise i-Neovim kuseva futhi uxhume kuyo kusukela kusistimu yeklayenti usebenzisa i-ui_client ehlukile. Ezinye izinguquko zihlanganisa: ukusekelwa kwe-Python 2 kunqanyuliwe, ukusetshenziswa kwemisebenzi ye-Lua kumephu engukhiye kuvunyelwe, imiyalo emisha yengezwe ku-API, ikhono lokusebenzisa ulimi lwesiLua ekuthuthukiseni ama-plugin kanye nokuphathwa kokucushwa kuye kwandiswa kakhulu, amathuluzi okuxilonga izinkinga kukhodi athuthukisiwe, ukusekelwa kwebha yesimo yomhlaba kungeziwe, ukuthuthukiswa kokusebenza kwenziwe. Amakhono eklayenti le-LSP elakhelwe ngaphakathi (Iphrothokholi Yeseva Yolimi) anwetshiwe, angasetshenziswa ukudlulisa umqondo wokuhlaziya nokuqedwa kwekhodi kumaseva angaphandle.

Source: opennet.ru

Engeza amazwana