Nan kad pwojè Neovim la, baz kòd Vim yo te retravay pou plis pase senk ane, kòm yon rezilta chanjman yo te fè ki senplifye antretyen kòd, bay yon mwayen pou divize travay ant plizyè moun k ap antreteni yo, separe koòdone a ak koòdone. pati baz (ka koòdone a dwe chanje san yo pa manyen entèn yo) epi aplike yon nouvo
Youn nan pwoblèm ak Vim ki te pouse kreyasyon Neovim se te yon baz kòd monolitik ki gonfle, ki gen plis pase 300 mil liy kòd C (C89). Se sèlman kèk moun ki konprann tout nuans yo nan Vim kodbaz la, epi tout chanjman yo kontwole pa yon sèl mentenans, ki fè li difisil pou kenbe ak amelyore editè a. Olye de kòd ki te bati nan nwayo Vim pou sipòte entèfas, Neovim pwopoze w sèvi ak yon kouch inivèsèl ki pèmèt ou kreye koòdone lè l sèvi avèk divès kalite zouti.
Plugins pou Neovim yo lanse kòm pwosesis separe, pou entèraksyon ak fòma MessagePack yo itilize. Se entèraksyon ak grefon yo te pote asynchrone, san yo pa bloke eleman debaz yo nan editè a. Pou jwenn aksè nan Plugin la, yo ka itilize yon priz TCP, i.e. ka plugin a dwe kouri sou yon sistèm ekstèn. An menm tan an, Neovim rete bak konpatib ak Vim, kontinye sipòte Vimscript (Lua yo ofri kòm yon altènatif) ak sipòte koneksyon pou pifò grefon Vim estanda. Karakteristik avanse Neovim yo ka itilize nan grefon ki konstwi lè l sèvi avèk API espesifik Neovim.
Kounye a deja
Kèk nan chanjman nan
- Te ajoute yon gwo pati nan nouvo fonksyon API ak evènman koòdone itilizatè.
- Te ajoute yon nouvo bibliyotèk estanda Nvim-Lua pou devlope grefon nan lang Lua.
- Devlopman nan pwotokòl koòdone itilizatè a ap kontinye, mete ajou enfòmasyon sou ekran an nan nivo liy yo, olye ke karaktè endividyèl yo.
- Te ajoute sipò pou tout fenèt k ap flote, ki ka mete nan nenpòt kote, tache, lye ak tanpon koreksyon endividyèl, ak gwoupe nan mòd Multigrid.
- Te ajoute opsyon 'pumblend' pou meni dewoulan translusid.
Sous: opennet.ru