Издаване на текстов редактор Vim 9.0

След две години и половина на разработка беше пуснат текстовият редактор Vim 9.0. Кодът на Vim се разпространява под собствен лиценз за копиралефт, съвместим с GPL и позволяващ неограничено използване, разпространение и преработка на кода. Основната характеристика на лиценза на Vim е свързана с връщането на промените - подобренията, внедрени в продукти на трети страни, трябва да бъдат прехвърлени към оригиналния проект, ако поддържащият Vim счита тези подобрения заслужаващи внимание и подаде съответната заявка. По тип разпространение Vim се класифицира като Charityware, т.е. Вместо да продават програмата или да събират дарения за нуждите на проекта, авторите на Vim молят да дарят всяка сума за благотворителност, ако програмата хареса на потребителя.

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.ru

Добавяне на нов коментар