Ntọhapụ nke Neovim 0.6.0, ụdị onye ndezi Vim emelitere

A tọhapụrụ Neovim 0.6.0, ndụdụ nke editọ Vim lekwasịrị anya n'ịbawanye extensibility na mgbanwe. Ihe oru ngo a na-emezigharị ntọala koodu Vim ihe karịrị afọ asaa, n'ihi nke a na-eme mgbanwe ndị na-eme ka nhazi koodu dị mfe, na-enye ụzọ nkesa ọrụ n'etiti ọtụtụ ndị na-elekọta, kewapụ interface site na akụkụ isi (ntụgharị nwere ike ịbụ). gbanwere na-enweghị emetụ ndị internals) ma mejuputa ihe owuwu ọhụrụ a na-apụghị ịgbagha agbagha dabere na plugins. A na-ekesa mmepe mbụ nke ọrụ ahụ n'okpuru ikike Apache 2.0, ma kesaa akụkụ bụ isi n'okpuru ikikere Vim. A na-akwado ọgbakọ ndị emebere maka Linux (appimage), Windows na macOS.

Otu n'ime nsogbu dị na Vim nke kpaliri ịmepụta Neovim bụ eriri ya, koodu monolithic, nke nwere ihe karịrị 300 puku ahịrị nke koodu C (C89). Naanị mmadụ ole na ole na-aghọta nuances niile nke Vim codebase, na mgbanwe niile na-achịkwa otu onye na-elekọta ya, nke na-eme ka o sie ike idobe ma melite onye nchịkọta akụkọ. Kama koodu etinyere n'ime Vim core iji kwado GUI, Neovim na-atụ aro iji oyi akwa zuru ụwa ọnụ nke na-enye gị ohere ịmepụta oghere site na iji ngwa ngwa dị iche iche.

A na-ewepụta ngwa mgbakwunye maka Neovim dị ka usoro dị iche iche, maka mmekọrịta nke ejiri usoro MessagePack mee ihe. A na-eme mmekọrịta na plugins n'otu n'otu, na-enweghị igbochi ihe ndị bụ isi nke onye nchịkọta akụkọ. Iji nweta ngwa mgbakwunye ahụ, enwere ike iji oghere TCP mee ihe, ya bụ. ngwa mgbakwunye nwere ike na-agba ọsọ na mpụga usoro. N'otu oge ahụ, Neovim na-anọgide na-aga azụ dakọtara na Vim, na-aga n'ihu na-akwado Vimscript (a na-enye Lua dị ka ihe ọzọ) ma na-akwado njikọ maka ọtụtụ plugins Vim ọkọlọtọ. Enwere ike iji njirimara dị elu nke Neovim na plugins arụpụtara site na iji API kpọmkwem Neovim.

Ugbu a, ihe dị ka 130 kpọmkwem plugins adịla njikere, njikọ dị maka ịmepụta plugins na mmejuputa interfaces site na iji asụsụ mmemme dị iche iche (C ++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) na frameworks (Qt, ncurses, Node .js, Electron, GTK). A na-emepụta ọtụtụ nhọrọ interface onye ọrụ. GUI tinye-ons yiri plugins n'ọtụtụ ụzọ, mana n'adịghị ka plugins, ha na-ebute oku na ọrụ Neovim, ebe a na-akpọ plugins n'ime Neovim.

Ụfọdụ mgbanwe dị na ụdị ọhụrụ a:

  • В 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.

isi: opennet.ru

Tinye a comment