Wydanie edytora tekstu Vim 9.0

Po dwóch i pół roku rozwoju wydano edytor tekstu Vim 9.0. Kod Vima jest rozpowszechniany na własnej licencji typu copyleft, zgodnej z licencją GPL i umożliwiającej nieograniczone wykorzystanie, dystrybucję i przeróbkę kodu. Główna cecha licencji Vima polega na cofaniu zmian - ulepszenia zaimplementowane w produktach firm trzecich muszą zostać przeniesione do oryginalnego projektu, jeśli opiekun Vima uzna te ulepszenia za godne uwagi i złoży odpowiedni wniosek. Według rodzaju dystrybucji Vim jest klasyfikowany jako oprogramowanie charytatywne, tj. Zamiast sprzedawać program lub zbierać datki na potrzeby projektu, autorzy Vima proszą o przekazanie dowolnej kwoty na cele charytatywne, jeśli użytkownikowi program się spodoba.

Vim 9 oferuje nowy język do tworzenia skryptów i wtyczek - Vim9 Script, który zapewnia składnię podobną do JavaScript, TypeScript i Java. Nowa składnia jest łatwiejsza do nauczenia dla początkujących, ale nie jest kompatybilna wstecz ze starym językiem skryptowym. Jednocześnie w pełni zachowana jest obsługa dotychczas używanego języka oraz kompatybilność z istniejącymi wtyczkami i skryptami – równolegle obsługiwane są stare i nowe języki. Nie planuje się zaprzestania obsługi starego języka.

Oprócz przerobienia składni, skrypt Vim9 obsługuje teraz skompilowane funkcje, co może znacznie zwiększyć produktywność. W przeprowadzonych testach funkcje skompilowane do kodu bajtowego umożliwiły 10-100-krotne zwiększenie szybkości wykonywania skryptu. Ponadto skrypt Vim9 nie przetwarza już argumentów funkcji jako powiązanych tablic, co skutkowało dużymi narzutami. Funkcje są teraz definiowane przy użyciu wyrażenia „def” i wymagają jawnej listy argumentów i typów zwracanych. Zmienne definiuje się za pomocą wyrażenia „var” z wyraźnym wskazaniem typu.

Dzielenie wyrażeń na wiele linii nie wymaga już użycia ukośnika odwrotnego. Mechanizm obsługi błędów został całkowicie przeprojektowany. Słowo kluczowe „call” nie jest wymagane do uruchamiania funkcji, ale „let” jest wymagane do przypisania wartości. Uproszczono tworzenie modułów – dodano możliwość eksportu poszczególnych funkcji i zmiennych do wykorzystania w innych plikach. Komentarze oddzielane są znakiem „#” zamiast podwójnych cudzysłowów. Obsługa klas jest planowana w przyszłych wydaniach.

Wśród innych zmian:

  • W zestawie znajduje się zestaw schematów kolorystycznych.
  • Ulepszona obsługa sprawdzania pisowni i uzupełniania danych wejściowych.
  • Dodano nowe ustawienia: „autoshelldir”, „cdhome”, „cinscopedecls”, „guiligatures”, „mousemoveevent”, „quickfixtextfunc”, „spelloptions”, „thesaurusfunc”, „xtermcodes”.
  • Dodano nowe polecenia: argdedupe, balt, def, defcompile, disassemble, echoconsole, enddef, eval, eksport, final, import, var i vim9script.
  • Terminal można otworzyć w wyskakującym oknie (popup-terminal) i wybrać kolorystykę terminala.
  • Dodano tryb kanału do interakcji z serwerem LSP (Language Server Protocol).
  • Dodano obsługę systemu operacyjnego Haiku.

Źródło: opennet.ru

Dodaj komentarz