Kutolewa kwa Neovim 0.7.0, toleo la kisasa la mhariri wa Vim

Neovim 0.7.0 imetolewa, uma wa mhariri wa Vim unaozingatia kuongeza upanuzi na kubadilika. Mradi huo umekuwa ukifanya kazi tena msingi wa nambari ya Vim kwa zaidi ya miaka saba, kama matokeo ambayo mabadiliko hufanywa ambayo hurahisisha utunzaji wa nambari, kutoa njia ya kugawa kazi kati ya watunzaji kadhaa, kutenganisha kiolesura kutoka kwa sehemu ya msingi (kiolesura kinaweza kuwa. iliyopita bila kugusa wa ndani) na utekeleze usanifu mpya unaoweza kupanuka kulingana na programu-jalizi. Maendeleo ya awali ya mradi yanasambazwa chini ya leseni ya Apache 2.0, na sehemu ya msingi inasambazwa chini ya leseni ya Vim. Makusanyiko yaliyotengenezwa tayari yanatayarishwa kwa Linux (appimage), Windows na macOS.

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.

Hivi sasa, karibu programu-jalizi maalum 130 tayari zimetayarishwa, 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 (Qt, ncurses, Node .js, Electron, GTK). Chaguzi kadhaa za kiolesura cha mtumiaji zinatengenezwa. Viongezi vya GUI ni kama programu-jalizi, lakini tofauti na programu-jalizi, huanzisha simu kwa vitendaji vya Neovim, wakati programu-jalizi huitwa kutoka ndani ya Neovim.

Toleo jipya linatoa usaidizi wa awali kwa kazi ya mbali, hukuruhusu kuendesha Neovim kwenye seva na kuiunganisha kutoka kwa mfumo wa mteja kwa kutumia ui_client tofauti. Mabadiliko mengine ni pamoja na: msaada kwa Python 2 imekoma, matumizi ya vitendaji vya Lua kwenye ramani kuu yameruhusiwa, amri mpya zimeongezwa kwenye API, uwezo wa kutumia lugha ya Lua kwa kutengeneza programu-jalizi na usimamizi wa usanidi umepanuliwa kwa kiasi kikubwa, zana za kutambua matatizo katika msimbo zimeboreshwa, usaidizi wa upau wa hali ya kimataifa umeongezwa, uboreshaji wa utendaji umefanywa. Uwezo wa mteja wa LSP uliojengewa ndani (Itifaki ya Seva ya Lugha) umepanuliwa, ambayo inaweza kutumika kuhamisha mantiki ya uchanganuzi na ukamilishaji wa msimbo kwa seva za nje.

Chanzo: opennet.ru

Kuongeza maoni