ការចេញផ្សាយ Neovim 0.7.0 ដែលជាកំណែទំនើបនៃកម្មវិធីនិពន្ធ Vim

Опубликован релиз Neovim 0.7.0, ответвления от редактора Vim, сфокусированного на повышении расширяемости и гибкости. В рамках проекта уже более семи лет проводится переработка кодовой базы Vim, в результате которой вносятся изменения, упрощающие сопровождение кода, предоставляющие средства разделения труда между несколькими мэйнтейнерами, отделяющие интерфейс от базовой части (интерфейс можно менять не трогая внутренности) и реализующие новую расширяемую архитектуру на основе плагинов. Оригинальные наработки проекта распространяются под лицензией Apache 2.0, а базовая часть под лицензией Vim. Готовые сборки подготовлены для Linux (appimage), Windows и macOS.

បញ្ហាមួយក្នុងចំណោមបញ្ហាជាមួយ Vim ដែលបានជំរុញឱ្យមានការបង្កើត Neovim គឺមូលដ្ឋានកូដ monolithic របស់វាដែលមានកូដ C (C300) ជាង 89 ពាន់បន្ទាត់។ មានមនុស្សតែពីរបីនាក់ប៉ុណ្ណោះដែលយល់អំពីភាពខុសប្លែកទាំងអស់នៃមូលដ្ឋានកូដ Vim ហើយការផ្លាស់ប្តូរទាំងអស់ត្រូវបានគ្រប់គ្រងដោយអ្នកថែទាំម្នាក់ ដែលធ្វើឱ្យវាពិបាកក្នុងការរក្សា និងកែលម្អកម្មវិធីនិពន្ធ។ ជំនួសឱ្យកូដដែលបានបង្កើតឡើងនៅក្នុងស្នូល Vim ដើម្បីគាំទ្រ GUI Neovim ស្នើឱ្យប្រើស្រទាប់សកលដែលអនុញ្ញាតឱ្យអ្នកបង្កើតចំណុចប្រទាក់ដោយប្រើប្រអប់ឧបករណ៍ផ្សេងៗ។

កម្មវិធីជំនួយសម្រាប់ Neovim ត្រូវបានបើកដំណើរការជាដំណើរការដាច់ដោយឡែក សម្រាប់អន្តរកម្មដែលទម្រង់ MessagePack ត្រូវបានប្រើ។ អន្តរកម្មជាមួយកម្មវិធីជំនួយត្រូវបានអនុវត្តដោយអសមកាល ដោយមិនរារាំងសមាសធាតុមូលដ្ឋាននៃកម្មវិធីនិពន្ធ។ ដើម្បីចូលប្រើកម្មវិធីជំនួយ រន្ធ TCP អាចត្រូវបានប្រើ ពោលគឺឧ។ កម្មវិធីជំនួយអាចដំណើរការលើប្រព័ន្ធខាងក្រៅ។ ក្នុងពេលជាមួយគ្នានេះ Neovim នៅតែអាចប្រើជាមួយ Vim បន្តគាំទ្រ Vimscript (Lua ត្រូវបានផ្តល់ជូនជាជម្រើសមួយ) និងគាំទ្រការតភ្ជាប់សម្រាប់កម្មវិធីជំនួយ Vim ស្តង់ដារភាគច្រើន។ លក្ខណៈពិសេសកម្រិតខ្ពស់របស់ Neovim អាចត្រូវបានប្រើនៅក្នុងកម្មវិធីជំនួយដែលបានបង្កើតដោយប្រើ APIs ជាក់លាក់របស់ Neovim ។

បច្ចុប្បន្ន កម្មវិធីជំនួយជាក់លាក់ប្រហែល 130 ត្រូវបានរៀបចំរួចហើយ ការចងមានសម្រាប់បង្កើតកម្មវិធីជំនួយ និងការអនុវត្តចំណុចប្រទាក់ដោយប្រើភាសាសរសេរកម្មវិធីផ្សេងៗ (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) និងក្របខ័ណ្ឌ (Qt, ncurses, Node .js, Electron, GTK)។ ជម្រើសចំណុចប្រទាក់អ្នកប្រើជាច្រើនកំពុងត្រូវបានបង្កើតឡើង។ កម្មវិធីបន្ថែម GUI គឺដូចជាកម្មវិធីជំនួយ ប៉ុន្តែមិនដូចកម្មវិធីជំនួយទេ ពួកគេចាប់ផ្តើមការហៅទៅកាន់មុខងារ Neovim ខណៈដែលកម្មវិធីជំនួយត្រូវបានហៅពីខាងក្នុង Neovim។

В новой версии предложена начальная поддержка удалённой работы, позволяющая запустить Neovim на сервере и подключаться к нему с клиентской системы, используя отдельный ui_client. Среди других изменений: прекращена поддержка Python 2, разрешено использовании Lua-функций в keymap, добавлены новые команды в API, значительно расширены возможности по использованию языка Lua для разработки плагинов и управления конфигурацией, улучшены средства диагностики проблем в коде, добавлена поддержка глобальной строки состояния, проведены оптимизации производительности. Расширены возможности встроенного LSP-клиента (Language Server Protocol), который можно использовать для выноса логики анализа и автодополнения кода на внешние серверы.

ប្រភព: opennet.ru

បន្ថែមមតិយោបល់