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

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

Kuongeza maoni