Neovim 0.6.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.
Baadhi ya mabadiliko katika toleo jipya:
- Π vim-ΡΠΊΡΠΈΠΏΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠΌ.
- ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ·ΡΠΊΠ° Lua Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ. Π vim-ΡΠΊΡΠΈΠΏΡΠ°Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²Π° Lua-ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡΠ° v:lua (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«arg1->v:lua.somemod.func(arg2)Β»).
- Π Π°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ LSP-ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (Language Server Protocol), ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠ½ΠΎΡΠ° Π»ΠΎΠ³ΠΈΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ LSP ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ 150 Π³ΠΎΡΠΎΠ²ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΊΠΎΠ΄Π° Visual Studio Code.
- Π£Π»ΡΡΡΠ΅Π½Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² ΠΊΠΎΠ΄Π΅. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΠ»Π°Π²Π°ΡΡΠΈΡ ΠΎΠΊΠΎΠ½ Ρ ΠΊΠΎΠ΄ΠΎΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ LSP-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π±Π»ΠΎΠΊΠΎΠ² ΡΠΎ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ.
- ΠΠ½Π΅ΡΠ΅Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π° Ρ ΡΡ ΡΠ°Π±Π»ΠΈΡΠ° Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Π΅ΠΌΡΡ ΠΈΠΌΡΠ½ Π³ΡΡΠΏΠΏ.
- ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Windows 7 ΠΈ 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΡΠ±ΠΎΡΠΎΠΊ Π΄Π»Ρ Windows.
Chanzo: opennet.ru