Tukunga o Neovim 0.6.0, he putanga hou o te ētita Vim

Kua tukuna a Neovim 0.6.0, he marau o te etita Vim e aro ana ki te whakanui ake i te whanui me te ngawari. Neke atu i te whitu nga tau e mahi ana te kaupapa nei i te turanga waehere Vim, na te mea ka puta nga huringa hei whakamaarama i te tiaki i nga waehere, ka taea te wehewehe i nga mahi i waenga i nga kai tiaki, wehe i te atanga mai i te waahanga turanga (ka taea te atanga. ka whakarereke me te kore e pa ki nga roto) me te whakatinana i tetahi hoahoanga whakawhanui hou i runga i nga taapiri. Ko nga whanaketanga taketake o te kaupapa ka tohatohahia i raro i te raihana Apache 2.0, ka tohatohahia te waahanga taketake i raro i te raihana Vim. Kua rite nga huihuinga kua rite mo te Linux (appimage), Windows me te macOS.

Ko tetahi o nga raruraru ki a Vim i akiaki i te hanganga o Neovim ko tona pupuhi, te turanga waehere monolithic, neke atu i te 300 mano nga rarangi o te waehere C (C89). He torutoru noa nga tangata e mohio ana ki nga ahuatanga katoa o te Vim codebase, a ko nga huringa katoa e whakahaeretia ana e te kaitiaki kotahi, he uaua ki te pupuri me te whakapai ake i te ētita. Engari i te waehere i hangaia ki roto i te Vim matua hei tautoko i te GUI, ka whakaaro a Neovim ki te whakamahi i tetahi paparanga ao e taea ai e koe te hanga hononga ma te whakamahi i nga momo kete taputapu.

Ko nga monomai mo Neovim ka whakarewahia hei tukanga motuhake, mo te taunekeneke ki te whakamahi i te whakatakotoranga MessagePack. Ko te taunekeneke me nga mono ka mahia i te wa kotahi, me te kore e aukati i nga waahanga taketake o te ētita. Hei uru atu ki te mono, ka taea te whakamahi i te turanga TCP, i.e. ka taea te whakahaere i te mono i runga i te punaha o waho. I te wa ano, ka noho whakamuri a Neovim ki a Vim, ka tautoko tonu i a Vimscript (Kei te tukuna a Lua hei rereke) me te tautoko i nga hononga mo te nuinga o nga taputapu Vim paerewa. Ka taea te whakamahi i nga ahuatanga matatau a Neovim i roto i nga monomai i hangaia ma te whakamahi i nga API motuhake a Neovim.

I tenei wa, tata ki te 130 nga taputapu motuhake kua oti te whakarite, kei te waatea nga here mo te hanga monomai me te whakatinana i nga hononga ma te whakamahi i nga momo reo whakamaori (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) me nga anga (Qt, ncurses, Node .js, Electron, GTK). He maha nga whiringa atanga kaiwhakamahi kei te whakawhanakehia. Ko nga taapiri GUI he rite ki nga monomai, engari kaore i rite ki nga mono, ka timata nga waea ki nga mahi Neovim, i te wa e karangahia ana nga mono mai i roto i te Neovim.

Ko etahi o nga huringa o te putanga hou:

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

Source: opennet.ru

Tāpiri i te kōrero