Liberazione di l'editore di testu Vim 9.0

Dopu dui anni è mezu di sviluppu, l'editore di testu Vim 9.0 hè statu liberatu. U codice Vim hè distribuitu sottu a so propria licenza copyleft, cumpatibile cù a GPL è chì permette l'usu illimitatu, a distribuzione è a rielaborazione di u codice. A funzione principale di a licenza Vim hè ligata à a reversione di i cambiamenti - e migliure implementate in i prudutti di terzu deve esse trasferitu à u prugettu originale se u mantene Vim cunsidereghja queste migliure degne d'attenzione è sottumette una dumanda currispondente. Per tipu di distribuzione, Vim hè classificatu cum'è Charityware, i.e. Invece di vende u prugramma o di cullà donazioni per i bisogni di u prugettu, l'autori di Vim dumandanu à donate ogni quantità à a carità se l'utilizatore piace u prugramma.

Vim 9 offre una nova lingua per sviluppà scripts è plugins - Vim9 Script, chì furnisce una sintassi simile à JavaScript, TypeScript è Java. A nova sintassi hè più faciule per i principianti à amparà, ma ùn hè micca retrocompatibile cù l'antica lingua di scrittura. À u listessu tempu, u supportu per a lingua utilizata prima è a cumpatibilità cù i plugins è i script esistenti sò cumplettamente cunservati - i vechji è novi lingue sò supportati in parallelu. Ùn ci hè micca previstu di cessà u sustegnu di a lingua antica.

In più di rielaborazione di a sintassi, Vim9 Script supporta avà funzioni compilate, chì ponu aumentà significativamente a produtividade. In i testi realizati, e funzioni compilate in bytecode anu permessu di aumentà a velocità di l'esekzione di script da 10-100 volte. Inoltre, Vim9 Script ùn prucessa più argumenti di funzione cum'è array assuciati, chì hà risultatu in grandi overheads. E funzioni sò avà definite cù una espressione "def" è necessitanu una lista esplicita di argumenti è tipi di ritornu. I variàbili sò definiti cù una espressione "var" cù una indicazione di tipu esplicitu.

A divisione di l'espressioni in parechje linee ùn hè più bisognu di l'usu di un backslash. U mecanismu di gestione di l'errore hè statu completamente riprogettatu. A keyword "call" ùn hè micca necessariu per eseguisce funzioni, ma "let" hè necessariu per assignazioni di valore. A creazione di moduli hè stata simplificata - a capacità di esportà funzioni individuali è variàbili per l'usu in altri schedari hè stata aghjunta. I cumenti sò separati da un caratteru "#" invece di virgolette doppie. U supportu di classi hè previstu per e versioni future.

Altri cambiamenti includenu:

  • Un set di schemi di culori hè inclusu.
  • Supportu migliuratu per u cuntrollu ortograficu è u cumpletu di input.
  • Aggiunti novi paràmetri: 'autoshelldir', 'cdhome', 'cinscopedecls', 'guiligatures', 'mousemoveevent', 'quickfixtextfunc', 'spelloptions', 'thesaurusfunc', 'xtermcodes'.
  • Aggiunti novi cumandamenti: argdedupe, balt, def, defcompile, disassemble, echoconsole, enddef, eval, export, final, import, var è vim9script.
  • Hè pussibule apre u terminal in una finestra pop-up (popup-terminal) è selezziunate u schema di culore di u terminal.
  • Modu di canali aghjuntu per l'interazzione cù u servitore LSP (Language Server Protocol).
  • Aghjunghje supportu per u sistema operatore Haiku.

Source: opennet.ru

Add a comment