Ntọhapụ nke Neovim 0.7.0, ụdị onye ndezi Vim emelitere

A tọhapụrụ Neovim 0.7.0, ndụdụ nke editọ Vim lekwasịrị anya n'ịbawanye extensibility na mgbanwe. Ihe oru ngo a na-emezigharị ntọala koodu Vim ihe karịrị afọ asaa, n'ihi nke a na-eme mgbanwe ndị na-eme ka nhazi koodu dị mfe, na-enye ụzọ nkesa ọrụ n'etiti ọtụtụ ndị na-elekọta, kewapụ interface site na akụkụ isi (ntụgharị nwere ike ịbụ). gbanwere na-enweghị emetụ ndị internals) ma mejuputa ihe owuwu ọhụrụ a na-apụghị ịgbagha agbagha dabere na plugins. A na-ekesa mmepe mbụ nke ọrụ ahụ n'okpuru ikike Apache 2.0, ma kesaa akụkụ bụ isi n'okpuru ikikere Vim. A na-akwado ọgbakọ ndị emebere maka Linux (appimage), Windows na macOS.

Otu n'ime nsogbu dị na Vim nke kpaliri ịmepụta Neovim bụ eriri ya, koodu monolithic, nke nwere ihe karịrị 300 puku ahịrị nke koodu C (C89). Naanị mmadụ ole na ole na-aghọta nuances niile nke Vim codebase, na mgbanwe niile na-achịkwa otu onye na-elekọta ya, nke na-eme ka o sie ike idobe ma melite onye nchịkọta akụkọ. Kama koodu etinyere n'ime Vim core iji kwado GUI, Neovim na-atụ aro iji oyi akwa zuru ụwa ọnụ nke na-enye gị ohere ịmepụta oghere site na iji ngwa ngwa dị iche iche.

A na-ewepụta ngwa mgbakwunye maka Neovim dị ka usoro dị iche iche, maka mmekọrịta nke ejiri usoro MessagePack mee ihe. A na-eme mmekọrịta na plugins n'otu n'otu, na-enweghị igbochi ihe ndị bụ isi nke onye nchịkọta akụkọ. Iji nweta ngwa mgbakwunye ahụ, enwere ike iji oghere TCP mee ihe, ya bụ. ngwa mgbakwunye nwere ike na-agba ọsọ na mpụga usoro. N'otu oge ahụ, Neovim na-anọgide na-aga azụ dakọtara na Vim, na-aga n'ihu na-akwado Vimscript (a na-enye Lua dị ka ihe ọzọ) ma na-akwado njikọ maka ọtụtụ plugins Vim ọkọlọtọ. Enwere ike iji njirimara dị elu nke Neovim na plugins arụpụtara site na iji API kpọmkwem Neovim.

Ugbu a, ihe dị ka 130 kpọmkwem plugins adịla njikere, njikọ dị maka ịmepụta plugins na mmejuputa interfaces site na iji asụsụ mmemme dị iche iche (C ++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) na frameworks (Qt, ncurses, Node .js, Electron, GTK). A na-emepụta ọtụtụ nhọrọ interface onye ọrụ. GUI tinye-ons yiri plugins n'ọtụtụ ụzọ, mana n'adịghị ka plugins, ha na-ebute oku na ọrụ Neovim, ebe a na-akpọ plugins n'ime Neovim.

Ụdị ọhụrụ ahụ na-enye nkwado mbụ maka ọrụ dịpụrụ adịpụ, na-enye gị ohere ịme Neovim na sava wee jikọọ na ya site na sistemụ ndị ahịa site na iji ui_client dị iche. Mgbanwe ndị ọzọ gụnyere: nkwado maka Python 2 akwụsịla, ahapụla iji ọrụ Lua na igodo map, agbakwunyere iwu ọhụrụ na API, ikike iji asụsụ Lua maka ịmepụta plugins na nhazi nhazi agbasawanyela nke ukwuu, ngwaọrụ maka ịchọpụta nsogbu na koodu ka emeziwanyela, agbakwunyere nkwado maka ogwe ọnọdụ ụwa, arụ ọrụ kachasị mma. Ike nke onye ahịa LSP wuru n'ime ya (Protocol Server Protocol) agbasawanye, nke enwere ike iji nyefee nyocha nyocha na koodu mmecha na sava mpụga.

isi: opennet.ru

Tinye a comment