Neovim 0.4, toleo la kisasa la mhariri wa Vim, linapatikana

iliyochapishwa kutolewa Neovim 0.4, uma kutoka kwa mhariri wa Vim, umakini juu ya kuongeza upanuzi na kubadilika. Maendeleo ya awali ya mradi kuenea chini ya leseni ya Apache 2.0, na sehemu ya msingi chini ya leseni ya Vim.

Ndani ya mfumo wa mradi wa Neovim, msingi wa nambari ya Vim umekuwa ukifanyiwa kazi tena kwa zaidi ya miaka mitano, kama matokeo ambayo mabadiliko hufanywa ili kurahisisha utunzaji wa kanuni, kutoa njia ya kugawanya kazi kati ya watunzaji kadhaa, kutenganisha kiolesura kutoka kwa sehemu ya msingi (kiolesura kinaweza kubadilishwa bila kugusa wa ndani) na kutekeleza mpya usanifu wa kupanuka kulingana na programu-jalizi.

Mojawapo ya matatizo ya Vim ambayo yalisababisha kuundwa kwa Neovim ilikuwa msingi wake wa kificho, wa monolithic, unaojumuisha zaidi ya mistari 300 elfu ya msimbo wa C (C89). Watu wachache tu wanaelewa nuances yote ya Vim codebase, na mabadiliko yote yanadhibitiwa na mtunzaji mmoja, ambayo inafanya kuwa vigumu kudumisha na kuboresha mhariri. Badala ya nambari iliyojengwa ndani ya msingi wa Vim kusaidia GUI, Neovim inapendekeza kutumia safu ya ulimwengu ambayo hukuruhusu kuunda miingiliano kwa kutumia vifaa anuwai.

Programu-jalizi za Neovim huzinduliwa kama michakato tofauti, kwa mwingiliano ambao umbizo la MessagePack linatumiwa. Uingiliano na programu-jalizi unafanywa kwa usawa, bila kuzuia vipengele vya msingi vya mhariri. Ili kufikia programu-jalizi, tundu la TCP linaweza kutumika, i.e. programu-jalizi inaweza kuendeshwa kwenye mfumo wa nje. Wakati huo huo, Neovim inasalia nyuma ikiendana na Vim, inaendelea kuunga mkono Vimscript (Lua inatolewa kama mbadala) na inasaidia miunganisho ya programu-jalizi nyingi za kawaida za Vim. Vipengele vya kina vya Neovim vinaweza kutumika katika programu-jalizi zilizoundwa kwa kutumia API maalum za Neovim.

Kwa sasa tayari tayari kuhusu programu-jalizi maalum 80, vifungo vinapatikana kwa kuunda programu-jalizi na kutekeleza miingiliano kwa kutumia lugha anuwai za programu (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) na mifumo (Qt5, ncurses, Node.js, Elektroni, GTK+). Chaguzi kadhaa za kiolesura cha mtumiaji zinatengenezwa. Viongezi vya GUI ni sawa na programu-jalizi kwa njia nyingi, lakini tofauti na programu-jalizi, huanzisha simu kwa vitendaji vya Neovim, wakati programu-jalizi huitwa kutoka ndani ya Neovim.

Baadhi ya mabadiliko katika toleo jipya:

  • Imeongeza sehemu kubwa ya vitendaji vipya vya API na matukio ya kiolesura cha mtumiaji.
  • Imeongeza maktaba mpya ya kawaida ya Nvim-Lua ya kutengeneza programu-jalizi katika lugha ya Kilua.
  • Uendelezaji wa itifaki ya kiolesura cha mtumiaji unaendelea, kusasisha habari kwenye skrini kwenye kiwango cha mistari, badala ya herufi binafsi.
  • Usaidizi ulioongezwa kwa madirisha kamili ya kuelea, ambayo yanaweza kuwekwa katika eneo lolote, kuunganishwa, kuunganishwa na bafa za uhariri za kibinafsi, na kupangwa katika hali ya Multigrid.
  • Chaguo la 'pumblend' limeongezwa kwa menyu kunjuzi zinazong'aa.

Chanzo: opennet.ru

Kuongeza maoni