Новости и события » Hi-Tech » Доступен Neovim 0.2, модернизированный вариант редактора Vim

Доступен Neovim 0.2, модернизированный вариант редактора Vim

После полутора лет разработки сформирован релиз Neovim 0.2, ответвления от редактора Vim, сфокусированного на повышении расширяемости и гибкости. В рамках проекта Neovim уже более трех лет проводится агрессивная переработка кодовой базы Vim, в результате которой вносятся изменения, упрощающие сопровождение кода, предоставляющие средства разделения труда между несколькими мэйнтейнерами, отделяющие интерфейс от базовой части (интерфейс можно менять не трогая внутренности) и реализующие новую расширяемую архитектуру на основе плагинов.

Из проблем Vim, побудивших к созданию Neovim, отмечается раздутая монолитная кодовая база, состоящая более чем из 300 тысяч строк кода на языке Си (C89). Во всех нюансах кодовой базы Vim разбирается всего несколько человек, а все изменения контролирует один мэйнтейнер, что затрудняет сопровождение и работу над усовершенствованием редактора. Вместо встроенного в ядро Vim кода для поддержки GUI в Neovim предлагается использовать универсальную прослойку, позволяющую создавать интерфейсы с использованием различных тулкитов.

Плагины к Neovim запускаются как отдельные процессы, для взаимодействия с которыми используется формат MessagePack. Взаимодействие с плагинами производится в асинхронном режиме, без блокирования базовых компонентов редактора. Для обращения к плагину может использоваться TCP-сокет, т. е. плагин может запускаться на внешней системе. При этом Neovim остается обратно совместимым с Vim, продолжает поддерживать Vimscript (в качестве альтернативы предлагается Lua) и поддерживает подключения большинства штатных плагинов Vim. Расширенные возможности Neovim могут быть использованы в плагинах, построенных с использованием API, специфичного для Neovim.

В настоящее время уже подготовлено более 50 специфичных плагинов, доступны биндинги для создания плагинов и реализаций интерфейсов с использованием различных языков программирования (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) и фреймворков (Qt5, ncurses, Node.js, Electron, GTK+). Развивается несколько вариантов пользовательского интерфейса. GUI-надстройки во многом напоминают плагины, но, в отличие от плагинов, они инициируют вызов функций Neovim, в то время как плагины вызываются из Neovim.

В новой версии перенесены некоторые возможности Vim 8, обеспечена полноценная поддержка платформы Windows, усовершенствован встроенный эмулятор терминала и представлена очередная порция переработок, связанных с модернизацией и рефакторингом API. Оригинальные наработки проекта распространяются под лицензией Apache 2.0, а базовая часть под лицензией Vim.


У липні завдяки імпорту Respublika Park вдалося зменшити...

У липні завдяки імпорту Respublika Park вдалося зменшити використання української електроенергії

У липні, коли відновилися стабілізаційні відключення, в торгово-розважальному центрі Республіка власник почав використовувати імпортну електроенергію , що дало можливість значно знизити навантаження на українські електромережі. Згідно інформації, яку надали...

сегодня 13:06
  • Доставка из Германии в Украину с сервисом Meest Shopping

    Доставка из Германии в Украину с сервисом Meest Shopping

    Зарубежный интернет-магазин – это площадка, где можно найти широкий ассортимент качественных и недорогих товаров от известных производителей. Доставка из...

    29 августа 2024
  • Тротуарная плитка: свойства, виды и преимущества

    Тротуарная плитка: свойства, виды и преимущества

    Тротуарная плитка давно стала неотъемлемой частью городского ландшафта. Она используется не только для обустройства тротуаров, но и для мощения дворов,...

    4 июля 2024
  • Где лечить зубы в Харькове

    Где лечить зубы в Харькове

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

    24 мая 2024
  • Перевод письменного текста

    Перевод письменного текста

    Перевод письменного текста – это процесс перевода текста на другой язык с помощью письменного переноса информации из одного языка на другой с учетом...

    4 мая 2024

Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх