Издање Неовим 0.6.0, модернизоване верзије Вим едитора

Објављен је Неовим 0.6.0, форк Вим едитора фокусиран на повећање проширивости и флексибилности. Пројекат је прерађивао Вим кодну базу више од седам година, услед чега су направљене измене које поједностављују одржавање кода, обезбеђују начин поделе рада између неколико одржавалаца, одвајају интерфејс од основног дела (интерфејс се може променили без додиривања унутрашњих делова) и имплементирали нову прошириву архитектуру засновану на додацима. Оригинални развоји пројекта се дистрибуирају под лиценцом Апацхе 2.0, а основни део се дистрибуира под лиценцом Вим. Готови склопови су припремљени за Линук (аппимаге), Виндовс и мацОС.

Један од проблема са Вим-ом који је подстакао стварање Неовог је надувена, монолитна кодна база од преко 300 линија Ц кода (Ц89). Само неколико људи разуме све нијансе Вим кодне базе, а све промене контролише један одржавалац, што отежава одржавање и рад на побољшању уређивача. Уместо кода уграђеног у Вим језгро за подршку ГУИ, Неовим предлаже коришћење универзалног слоја који вам омогућава да креирате интерфејсе користећи различите комплете алата.

Додаци за Неовим се покрећу као засебни процеси, за интеракцију са којима се користи формат МессагеПацк. Интеракција са додацима се врши у асинхроном режиму, без блокирања основних компоненти уређивача. За приступ додатку може се користити ТЦП соцкет, тј. додатак може да ради на спољном систему. У исто време, Неовим остаје компатибилан са Вим-ом, наставља да подржава Вимсцрипт (Луа се нуди као алтернатива) и подржава повезивање већине регуларних Вим додатака. Напредне функције Неовим могу се користити у додацима направљеним помоћу АПИ-ја специфичног за Неовим.

Тренутно је већ припремљено око 130 специфичних додатака, доступни су везови за креирање додатака и имплементацију интерфејса користећи различите програмске језике (Ц++, Цлојуре, Перл, Питхон, Го, Јава, Лисп, Луа, Руби) и оквире (Кт, нцурсес, Ноде .јс, Елецтрон, ГТК). Развија се неколико опција корисничког интерфејса. ГУИ додаци су слични додацима на много начина, али за разлику од додатака, они покрећу позиве Неовим функцијама, док се додаци позивају из Неовим.

Неке од промена у новој верзији:

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

Извор: опеннет.ру

Додај коментар