Tekstieditorin Vim 9.0 julkaisu

Kahden ja puolen vuoden kehitystyön jälkeen tekstieditori Vim 9.0 julkaistiin. Vim-koodia jaetaan sen omalla copyleft-lisenssillä, joka on yhteensopiva GPL:n kanssa ja sallii koodin rajoittamattoman käytön, jakelun ja muokkaamisen. Vim-lisenssin pääominaisuus liittyy muutosten peruuttamiseen - kolmansien osapuolien tuotteisiin tehdyt parannukset on siirrettävä alkuperäiseen projektiin, jos Vim-ylläpitäjä katsoo nämä parannukset huomion arvoisiksi ja esittää vastaavan pyynnön. Jakelutyypin mukaan Vim luokitellaan hyväntekeväisyyteen, ts. Ohjelman myymisen tai lahjoitusten keräämisen sijaan hankkeen tarpeisiin Vimin kirjoittajat pyytävät lahjoittamaan minkä tahansa summan hyväntekeväisyyteen, jos käyttäjä pitää ohjelmasta.

Vim 9 tarjoaa uuden kielen skriptien ja lisäosien kehittämiseen - Vim9 Script, joka tarjoaa JavaScriptin, TypeScriptin ja Javan kaltaisen syntaksin. Uusi syntaksi on helpompi oppia aloittelijoille, mutta se ei ole taaksepäin yhteensopiva vanhan skriptikielen kanssa. Samaan aikaan tuki aiemmin käytetylle kielelle ja yhteensopivuus olemassa olevien laajennusten ja komentosarjojen kanssa säilyy täysin - vanhoja ja uusia kieliä tuetaan rinnakkain. Vanhan kielen tukea ei ole tarkoitus lopettaa.

Syntaksin uudelleenmuokkauksen lisäksi Vim9 Script tukee nyt käännettyjä toimintoja, jotka voivat lisätä tuottavuutta merkittävästi. Suoritetuissa testeissä tavukoodiksi käännetyt funktiot mahdollistivat skriptien suoritusnopeuden nostamisen 10-100-kertaiseksi. Lisäksi Vim9 Script ei enää käsittele funktioargumentteja liitettyinä taulukoina, mikä johti suuriin yleiskustannuksiin. Funktiot määritellään nyt "def"-lausekkeella, ja ne vaativat nimenomaisen luettelon argumenteista ja palautustyypeistä. Muuttujat määritellään käyttämällä "var"-lauseketta, jossa on selkeä tyyppi.

Lausekkeiden jakaminen useille riveille ei enää vaadi kenoviivan käyttöä. Virheenkäsittelymekanismi on suunniteltu kokonaan uudelleen. Avainsanaa "kutsut" ei vaadita funktioiden suorittamiseen, mutta "let" vaaditaan arvon määrittämiseen. Moduulien luomista on yksinkertaistettu - lisätty mahdollisuus viedä yksittäisiä toimintoja ja muuttujia käytettäväksi muissa tiedostoissa. Kommentit erotetaan "#"-merkillä lainausmerkkien sijaan. Luokkatuki on suunniteltu tuleville julkaisuille.

Muiden muutosten joukossa:

  • Mukana on joukko värimalleja.
  • Parannettu tuki oikeinkirjoituksen tarkistukseen ja syötteiden viimeistelyyn.
  • Lisätty uudet asetukset: 'autoshelldir', 'cdhome', 'cinscopedecls', 'guiligatures', 'mousemoveevent', 'quickfixtextfunc', 'spelloptions', 'thesaurusfunc', 'xtermcodes'.
  • Lisätty uudet komennot: argdedupe, balt, def, defcompile, disassemble, echoconsole, enddef, eval, export, final, import, var ja vim9script.
  • Pääte on mahdollista avata ponnahdusikkunassa (popup-pääte) ja valita päätteen värimaailma.
  • Lisätty kanavatila vuorovaikutusta varten LSP (Language Server Protocol) -palvelimen kanssa.
  • Lisätty tuki Haiku-käyttöjärjestelmälle.

Lähde: opennet.ru

Lisää kommentti