Релиз текстового редактора Vim 9.0

После двух с половиной лет разработки состоялся релиз текстового редактора Vim 9.0.

Релиз текстового редактора Vim 9.0

В Vim 9 предложен новый язык разработки скриптов и плагинов - Vim9 Script, предоставляющий синтаксис, близкий к JavaScript, TypeScript и Java. Новый синтаксис проще для освоения новичками, но обратно не совместим со старым языком сценариев. При этом поддержка ранее используемого языка и совместимость с существующими плагинами и скриптами полностью сохранена - старый и новый языки поддерживаются параллельно. Прекращение поддержки старого языка не планируется.

Кроме переработки синтаксиса в Vim9 Script реализована поддержка компилируемых функций, позволяющих существенно увеличить производительность. В проведённых тестах компилируемые в байткод функции позволили увеличить скорость выполнения скриптов в 10-100 раз. Кроме того, в Vim9 Script прекращена обработка аргументов функций в виде ассоциированных массивов, приводившая к большим накладным расходам. Функции теперь определяются при помощи выражения "def" и требуют явного указания перечня аргументов и возвращаемых типов. Переменные определяются при помощи выражения "var" с явным указание типа.

Разделение выражений на несколько строк теперь не требует использования обратного слэша. Полностью переделан механизм обработки ошибок. Для запуска функций не требуется указание ключевого слова "call", а для присвоений значений "let". Упрощено создание модулей - добавлена возможность экспортировать отдельные функции и переменные для использования в других файлах. Комментарии отделяются символом "#" вместо двойных кавычек. В будущих выпусках намечена реализация поддержки классов.

  • В состав включён набор цветовых схем.
  • Улучшена поддержка проверки правописания и автодополнения ввода.
  • Добавлены новые настройки: 'autoshelldir', 'cdhome', 'cinscopedecls', 'guiligatures', 'mousemoveevent', 'quickfixtextfunc', 'spelloptions', 'thesaurusfunc', 'xtermcodes'.
  • Добавлены новые команды: argdedupe, balt, def, defcompile, disassemble, echoconsole, enddef, eval, export, final, import, var и vim9script.
  • Предоставлена возможность открытия терминала во всплывающем окне (popup-terminal) и выбора цветового оформления терминала.
  • Добавлен канальный режим взаимодействия с сервером LSP (Language Server Protocol).
  • Добавлена поддержка операционной системы Haiku.

Источник: новость на opennet

14
13 комментариев