Реліз текстового редактора Vim 8.2

Після півтора року розробки відбувся реліз текстового редактора Vim 8.2, який віднесений до категорії незначних випусків, в якому усунуті помилки, що накопичилися, та запропоновані поодинокі нововведення.

Код Vim поширюється під власною копілефт ліцензією, сумісної з GPL, і дозволяє без обмежень використовувати, розповсюджувати та переробляти код. Основна особливість ліцензії Vim пов'язана з поверненням змін — реалізовані в сторонніх продуктах поліпшення повинні бути передані у вихідний проект, якщо мейнтейнер Vim вважатиме ці поліпшення такими, що заслуговують на увагу і надішле відповідний запит. На кшталт поширення, Vim належить до Сharityware, тобто. замість продажу програми чи збору пожертвувань на потреби проекту, автори Vim просять перерахувати будь-яку суму на благодійність, якщо програма сподобається користувачеві.

В нової версії:

  • Реалізовано підтримку спливаючих вікон, які, поряд із властивостями тексту, під час опитування на конференції VimConf 2018 були відзначені розробниками плагінів як найбільш затребувані можливості, яких не вистачає у Vim. Спливаючі вікна дозволяють відображати повідомлення, уривки коду та будь-яку іншу інформацію поверх тексту, що редагується. Дані вікна можуть бути підсвічені різними способами, швидко відчинені та закриті. Реалізація зазначеної функціональності зажадала суттєво доопрацювання раніше використовуваних механізмів виведення на екран, а також розширення API для забезпечення роботи з вікнами з плагінів.
  • Додано можливість визначити властивості тексту, за допомогою яких можна виділяти кольором шматки тексту або підсвічувати довільні області. Властивості тексту можна використовувати у формі механізму виділення тексту, що працює в асинхронному режимі, альтернативного раніше доступним можливостям підсвічування синтаксису на базі шаблонів. Особливістю властивостей тексту також є те, що вони прикріплені з пов'язаним з ними текстом і зберігаються навіть при вставці нових слів перед виділеним текстом.
  • Для наочної демонстрації нових можливостей Vim 8.2 підготовлений плагін з грою, що дозволяє стріляти в овець, що біжать по екрану. Вівці, що біжать, відображаються за допомогою спливаючих вікон, а забарвлення реалізована через властивості тексту.

    Реліз текстового редактора Vim 8.2

  • Для демонстрації властивостей тексту додатково опубліковано плагін govim, що використовується для підсвічування синтаксису в програмах на мові Go, отримуючи інформацію про семантику мови із зовнішнього LSP-сервера (Протокол сервера мови). Спливаючі вікна в govim використовуються для виведення контекстних підказок для автодоповнення імен та відображення описів функцій.
    Реліз текстового редактора Vim 8.2

  • Запропоновано нову команду «:const» для визначення змінних, які неможливо змінити:

    const TIMER_DELAY = 400

  • Додано можливість визначення словників з літерними ключами без використання лапок:

    let options = #{width: 30, height: 24}

  • Додано можливість блокових присвоєнь, що спрощують присвоєння змінним багаторядкових шматків тексту:

    let lines =<< trim END
    перший рядок
    другий рядок
    END

  • Додано можливість побудови ланцюжків функцій при виклику методів:

    mylist->filter(filterexpr)->map(mapexpr)->sort()->join()

  • В основний склад включена бібліотека xdiff, що дозволила значно покращити представлення різниці різних варіантів тексту;
  • Додано налаштування "modifyOtherKeys" для завдання розширених комбінацій клавіш
  • Додано підтримку консолі ConPTY, що дозволяє досягти відображення всіх кольорів у консолі Windows 10;
  • Модернізовано інсталятор для Windows.

Додатково можна зазначити, підготовку експериментальної гілки редактора Neovim 0.5. Neovim являє собою відгалуження від Vim, сфокусоване на підвищенні розширюваності та гнучкості. У рамках проекту вже понад п'ять років проводиться агресивна переробка кодової бази Vim, в результаті якої вносяться зміни, що спрощують супровід коду, що надають засоби поділу праці між декількома мейнтейнерами, що відокремлюють інтерфейс від базової частини (інтерфейс можна змінювати не чіпаючи начинки) і реалізують нову архітектуру, що розширюється, на основі плагінів. Плагіни до Neovim запускаються як окремі процеси для взаємодії з якими використовується формат MessagePack.

Джерело: opennet.ru

Додати коментар або відгук