Neovim 0.4, mtundu wamakono wa Vim mkonzi, ulipo

Lofalitsidwa kumasula Neovim 0.4, mphanda kuchokera kwa mkonzi wa Vim, wolunjika pakuwonjezera kukulitsa ndi kusinthasintha. Zochitika zoyambirira za polojekitiyi kufalitsa pansi pa chilolezo cha Apache 2.0, ndi gawo loyambira pansi pa layisensi ya Vim.

M'kati mwa polojekiti ya Neovim, Vim code base yakhala ikugwiritsidwanso ntchito kwa zaka zopitirira zisanu, chifukwa chake kusintha kumapangidwa komwe kumathandizira kukonza kachidindo, kupereka njira yogawanitsa ntchito pakati pa osamalira angapo, kusiyanitsa mawonekedwe ndi gawo loyambira (mawonekedwe amatha kusinthidwa osakhudza amkati) ndikukhazikitsa chatsopano Zomangamanga zowonjezera zochokera mapulagini.

Limodzi mwamavuto ndi Vim lomwe lidapangitsa kuti Neovim lipangidwe linali khodi yake yotupa, yokhala ndi mizere yopitilira 300 ya C (C89). Ndi anthu ochepa okha omwe amamvetsetsa ma nuances onse a Vim codebase, ndipo zosintha zonse zimayendetsedwa ndi woyang'anira m'modzi, zomwe zimapangitsa kuti zikhale zovuta kusunga ndi kukonza mkonzi. M'malo mwa code yomwe idapangidwa mu Vim core kuti ithandizire GUI, Neovim ikufuna kugwiritsa ntchito wosanjikiza wapadziko lonse lapansi womwe umakupatsani mwayi wopanga ma interfaces pogwiritsa ntchito zida zosiyanasiyana.

Mapulagini a Neovim amayambitsidwa ngati njira zosiyana, zolumikizirana ndi mtundu wa MessagePack womwe umagwiritsidwa ntchito. Kuyanjana ndi mapulagini kumachitika mwachisawawa, popanda kutsekereza zigawo zikuluzikulu za mkonzi. Kuti mupeze plugin, socket ya TCP ingagwiritsidwe ntchito, i.e. pulogalamu yowonjezera akhoza kuthamanga pa kunja dongosolo. Nthawi yomweyo, Neovim imakhalabe chakumbuyo yogwirizana ndi Vim, ikupitilizabe kuthandizira Vimscript (Lua imaperekedwa ngati njira ina) ndipo imathandizira kulumikizana kwa mapulagini ambiri a Vim. Zapamwamba za Neovim zitha kugwiritsidwa ntchito mumapulagini omangidwa pogwiritsa ntchito ma API apadera a Neovim.

Panopa kale kukonzekera pafupifupi 80 mapulagini enieni, zomangira zilipo popanga mapulagini ndikugwiritsa ntchito zolumikizira pogwiritsa ntchito zilankhulo zosiyanasiyana zamapulogalamu (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) ndi ma frameworks (Qt5, ncurses, Node.js, Electron, GTK+). Zosankha zingapo za ogwiritsa ntchito zikupangidwa. Zowonjezera za GUI zili ngati mapulagini, koma mosiyana ndi mapulagini, amayambitsa mafoni ku ntchito za Neovim, pomwe mapulagini amayitanidwa kuchokera mkati mwa Neovim.

Zina mwazosintha mu Baibulo latsopano:

  • Anawonjezera gawo lalikulu la ntchito zatsopano za API ndi zochitika za ogwiritsa ntchito.
  • Yawonjezera laibulale yatsopano ya Nvim-Lua yopanga mapulagini muchilankhulo cha Lua.
  • Kukula kwa mawonekedwe ogwiritsira ntchito protocol kumapitilirabe, kukonzanso zambiri pazenera pamlingo wa mizere, osati zilembo zamunthu.
  • Thandizo lowonjezera la mazenera oyandama athunthu, omwe amatha kuyikidwa pamalo aliwonse, olumikizidwa, olumikizidwa ndi ma buffers osintha, ndikuyika m'magulu a Multigrid.
  • Chowonjezera cha 'pumblend' cha mindandanda yotsitsa yotsika.

Source: opennet.ru

Kuwonjezera ndemanga