The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"В рамках проекта Neovim предпринята попытка модернизации Vim"
Отправлено opennews, 25-Фев-14 00:03 
Анонсирован (https://groups.google.com/forum/m/#!topic/vim_dev/x0BF9Y0Uby8) проект Neovim (http://neovim.org/), в рамках которого планируется провести работу по рефакторингу и модернизации кодовой базы текстового редактора Vim. В текущем виде код Vim развивается более 20 лет и состоит из более чем 300 тысяч строк на языке Си, что затрудняет сопровождение и работу над усовершенствованием редактора. По мнению инициаторов проекта во всех нюансах кодовой базы Vim разбирается всего несколько человек.


Проблему также представлен метод сопровождения кодовой базы Vim. У проекта сейчас один мэйнтейнер, который достаточно скрупулезно подходит к процессу проверки и принятия патчей, что затрудняет продвижение изменений в Vim. В итоге ядро Vim заметно отстаёт по темпу разработки от потребностей экосистемы разработчиков плагинов. Среди целей проекта Neovim (https://github.com/neovim/neovim/) называется упрощение процесса сопровождение кодовой базы, разделение полномочий между несколькими мэйнтейнерами и ускорение продвижения исправлений и новых возможностей.

Из практических изменений намечен перевод Vim на новую архитектуру плагинов, позволяющую разрабатывать расширения на любых языках программирования. Плагины будут выполняться в форме отдельных процессов, взаимодействующих с ядром vim при помощи механизма RPC.  При этом проект не предусматривает переработку Vim с нуля, изменение модели редактирования Vim. Также будет сохранена поддержка  vimscript и большинство плагинов на  vimscript продолжат работу без изменений.

После этого планируется создание нового современной пользовательского интерфейса, разработка которого будет вестись в качестве надстройки, не требующей изменения базовой части Vim, что избавляет от необходимости продвигать патчи в ядро Vim. Базовый код для поддержки GUI предлагается удалить из ядра Vim и использовать более универсальную прослойку, позволяющую создавать интерфейсы с использованием различных тулкитов.  GUI-надстройки во многом напоминают плагины, а отличие от плагинов состоит в том, что плагины вызываются из Neovim, а GUI-надстройки выступают первичным процессом и вызывают функции Neovim.

На первом этапе работа сосредоточена на переводе кодовой базы на систему сборки cmake и проведения чистки кода от привязки к устаревшим системам и компиляторам (C89). Вместо специфичного для платформ кода для организации ввода/вывода планируется задействовать библиотеку libuv (https://github.com/joyent/libuv).  Для ведения разработки предлагается использовать GitHub. Для финансирвоания разработки была запущена кроудфандинг-кампания (https://www.bountysource.com/fundraisers/539-neovim-first-it...), в рамках которой за первый день было собрано 12 тысяч евро.

Bram Moolenaar, текущий мэйнтейнер проекта Vim, скептически (https://groups.google.com/forum/m/#!topic/vim_dev/x0BF9Y0Uby8) отнёсся к проекту Neovim, выразив опасение, что в результате чистки будет потеряна поддержка некоторых платформ и будут внесены новые ошибки. По его мнению, полный рефакторинг не является выходом. Вместо этого лучше потратить силы на улучшение того, что уже есть или на проведение небольших переработок, нацеленных на улучшение работы Vim для пользователей.

URL: https://groups.google.com/forum/m/#!topic/vim_dev/x0BF9Y0Uby8
Новость: http://www.opennet.ru/opennews/art.shtml?num=39178

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру