Rilascio dell'editor di testo Vim 9.0

Dopo due anni e mezzo di sviluppo è stato rilasciato l'editor di testo Vim 9.0. Il codice Vim è distribuito sotto la propria licenza copyleft, compatibile con la GPL e che consente l'uso, la distribuzione e la rielaborazione illimitati del codice. La caratteristica principale della licenza Vim è legata all'annullamento delle modifiche: i miglioramenti implementati nei prodotti di terze parti devono essere trasferiti al progetto originale se il manutentore Vim considera questi miglioramenti degni di attenzione e presenta una richiesta corrispondente. In base al tipo di distribuzione, Vim è classificato come Charityware, ovvero Invece di vendere il programma o raccogliere donazioni per le necessità del progetto, gli autori di Vim chiedono di donare qualsiasi importo in beneficenza se all'utente piace il programma.

Vim 9 offre un nuovo linguaggio per lo sviluppo di script e plugin: Vim9 Script, che fornisce una sintassi simile a JavaScript, TypeScript e Java. La nuova sintassi è più facile da imparare per i principianti, ma non è retrocompatibile con il vecchio linguaggio di scripting. Allo stesso tempo, il supporto per la lingua utilizzata in precedenza e la compatibilità con plugin e script esistenti sono completamente preservati: la vecchia e la nuova lingua sono supportate in parallelo. Non è previsto l'interruzione del supporto per la vecchia lingua.

Oltre a rielaborare la sintassi, Vim9 Script ora supporta funzioni compilate, che possono aumentare significativamente la produttività. Nei test effettuati, le funzioni compilate in bytecode hanno permesso di aumentare di 10-100 volte la velocità di esecuzione degli script. Inoltre, Vim9 Script non elabora più gli argomenti delle funzioni come array associati, il che comportava grandi spese generali. Le funzioni ora vengono definite utilizzando un'espressione "def" e richiedono un elenco esplicito di argomenti e tipi restituiti. Le variabili vengono definite utilizzando un'espressione "var" con un'indicazione esplicita del tipo.

La suddivisione delle espressioni su più righe non richiede più l'uso di una barra rovesciata. Il meccanismo di gestione degli errori è stato completamente riprogettato. La parola chiave "call" non è necessaria per eseguire le funzioni, ma "let" è necessaria per le assegnazioni di valori. La creazione dei moduli è stata semplificata: è stata aggiunta la possibilità di esportare singole funzioni e variabili da utilizzare in altri file. I commenti sono separati da un carattere "#" anziché da virgolette doppie. Il supporto per le lezioni è previsto per le versioni future.

Tra le altre modifiche:

  • È inclusa una serie di combinazioni di colori.
  • Supporto migliorato per il controllo ortografico e il completamento dell'input.
  • Aggiunte nuove impostazioni: 'autoshelldir', 'cdhome', 'cinscopedecls', 'guiligatures', 'mousemoveevent', 'quickfixtextfunc', 'spelloptions', 'thesaurusfunc', 'xtermcodes'.
  • Aggiunti nuovi comandi: argdedupe, balt, def, defcompile, disassemblare, echoconsole, enddef, eval, export, final, import, var e vim9script.
  • È possibile aprire il terminale in una finestra pop-up (terminale popup) e selezionare lo schema dei colori del terminale.
  • Aggiunta la modalità canale per l'interazione con il server LSP (Language Server Protocol).
  • Aggiunto il supporto per il sistema operativo Haiku.

Fonte: opennet.ru

Aggiungi un commento