Vrystelling van teksredigeerder Vim 9.0

Na twee en 'n half jaar van ontwikkeling is die teksredigeerder Vim 9.0 vrygestel. Die Vim-kode word versprei onder sy eie copyleft-lisensie, versoenbaar met die GPL en laat onbeperkte gebruik, verspreiding en herbewerking van die kode toe. Die hoofkenmerk van die Vim-lisensie hou verband met die terugdraai van veranderinge - verbeterings wat in derdeparty-produkte geïmplementeer is, moet na die oorspronklike projek oorgedra word as die Vim-onderhouer hierdie verbeterings waardig ag en 'n ooreenstemmende versoek indien. Volgens verspreidingstipe word Vim as Charityware geklassifiseer, d.w.s. In plaas daarvan om die program te verkoop of skenkings vir die behoeftes van die projek in te samel, vra die skrywers van Vim om enige bedrag aan liefdadigheid te skenk as die gebruiker van die program hou.

Vim 9 bied 'n nuwe taal vir die ontwikkeling van skrifte en plugins - Vim9 Script, wat sintaksis soortgelyk aan JavaScript, TypeScript en Java bied. Die nuwe sintaksis is makliker vir beginners om te leer, maar is nie agteruit versoenbaar met die ou skriftaal nie. Terselfdertyd word ondersteuning vir die voorheen gebruikte taal en versoenbaarheid met bestaande plugins en skrifte ten volle bewaar - die ou en nuwe tale word parallel ondersteun. Daar is geen planne om ondersteuning vir die ou taal te staak nie.

Benewens die herbewerking van die sintaksis, ondersteun Vim9 Script nou saamgestelde funksies, wat produktiwiteit aansienlik kan verhoog. In die toetse wat uitgevoer is, het funksies wat in greepkode saamgestel is, dit moontlik gemaak om die spoed van skrifuitvoering met 10-100 keer te verhoog. Boonop verwerk Vim9 Script nie meer funksie-argumente as geassosieerde skikkings nie, wat tot groot oorhoofse koste gelei het. Funksies word nou gedefinieer deur 'n "def"-uitdrukking te gebruik en vereis 'n eksplisiete lys argumente en terugkeertipes. Veranderlikes word gedefinieer deur gebruik te maak van 'n "var" uitdrukking met 'n eksplisiete tipe aanduiding.

Om uitdrukkings oor veelvuldige lyne te verdeel, vereis nie meer die gebruik van 'n terugskuinsstreep nie. Die fouthanteringsmeganisme is heeltemal herontwerp. Die sleutelwoord "roep" is nie nodig om funksies uit te voer nie, maar "laat" word vereis vir waardetoewysings. Die skepping van modules is vereenvoudig - die vermoë om individuele funksies en veranderlikes uit te voer vir gebruik in ander lêers is bygevoeg. Opmerkings word geskei deur 'n "#" karakter in plaas van dubbele aanhalingstekens. Klasondersteuning word vir toekomstige vrystellings beplan.

Ander veranderinge sluit in:

  • 'n Stel kleurskemas is ingesluit.
  • Verbeterde ondersteuning vir speltoetsing en invoervoltooiing.
  • Nuwe instellings bygevoeg: 'autoshelldir', 'cdhome', 'cinscopedecls', 'guiligatures', 'mousemoveevent', 'quickfixtextfunc', 'spelloptions', 'thesaurusfunc', 'xtermcodes'.
  • Nuwe opdragte bygevoeg: argdedupe, balt, def, defcompile, disassemble, eggoconsole, enddef, eval, export, final, import, var en vim9script.
  • Dit is moontlik om die terminale oop te maak in 'n opspringvenster (opspring-terminaal) en die kleurskema van die terminale te kies.
  • Bygevoeg kanaalmodus vir interaksie met die LSP (Language Server Protocol) bediener.
  • Bygevoeg ondersteuning vir die Haiku-bedryfstelsel.

Bron: opennet.ru

Voeg 'n opmerking