Rilis editor teks Vim 9.0

Setelah dua setengah tahun pengembangan, editor teks Vim 9.0 dirilis. Kode Vim didistribusikan di bawah lisensi copyleftnya sendiri, kompatibel dengan GPL dan memungkinkan penggunaan, distribusi, dan pengerjaan ulang kode tanpa batas. Fitur utama dari lisensi Vim terkait dengan pengembalian perubahan - perbaikan yang diterapkan pada produk pihak ketiga harus ditransfer ke proyek asli jika pengelola Vim menganggap perbaikan ini layak untuk diperhatikan dan mengajukan permintaan yang sesuai. Berdasarkan jenis distribusi, Vim diklasifikasikan sebagai Charityware, yaitu. Alih-alih menjual program atau mengumpulkan sumbangan untuk kebutuhan proyek, penulis Vim meminta untuk menyumbangkan sejumlah uang untuk amal jika pengguna menyukai program tersebut.

Vim 9 menawarkan bahasa baru untuk mengembangkan skrip dan plugin - Vim9 Script, yang menyediakan sintaksis mirip dengan JavaScript, TypeScript, dan Java. Sintaks baru lebih mudah dipelajari oleh pemula, tetapi tidak kompatibel dengan bahasa skrip lama. Pada saat yang sama, dukungan untuk bahasa yang digunakan sebelumnya dan kompatibilitas dengan plugin dan skrip yang ada dipertahankan sepenuhnya - bahasa lama dan baru didukung secara paralel. Tidak ada rencana untuk menghentikan dukungan untuk bahasa lama.

Selain pengerjaan ulang sintaksis, Skrip Vim9 sekarang mendukung fungsi terkompilasi, yang dapat meningkatkan produktivitas secara signifikan. Dalam pengujian yang dilakukan, fungsi yang dikompilasi ke dalam bytecode memungkinkan peningkatan kecepatan eksekusi skrip sebanyak 10-100 kali lipat. Selain itu, Skrip Vim9 tidak lagi memproses argumen fungsi sebagai array terkait, yang mengakibatkan overhead yang besar. Fungsi sekarang didefinisikan menggunakan ekspresi "def" dan memerlukan daftar argumen dan tipe kembalian yang eksplisit. Variabel didefinisikan menggunakan ekspresi "var" dengan indikasi tipe eksplisit.

Memisahkan ekspresi menjadi beberapa baris tidak lagi memerlukan penggunaan garis miring terbalik. Mekanisme penanganan kesalahan telah didesain ulang sepenuhnya. Kata kunci "panggilan" tidak diperlukan untuk menjalankan fungsi, tetapi "biarkan" diperlukan untuk penetapan nilai. Pembuatan modul telah disederhanakan - kemampuan untuk mengekspor fungsi dan variabel individual untuk digunakan dalam file lain telah ditambahkan. Komentar dipisahkan dengan karakter "#", bukan tanda kutip ganda. Dukungan kelas direncanakan untuk rilis mendatang.

Antara lain perubahan:

  • Satu set skema warna disertakan.
  • Peningkatan dukungan untuk pemeriksaan ejaan dan penyelesaian input.
  • Menambahkan pengaturan baru: 'autoshelldir', 'cdhome', 'cinscopedecls', 'guiligatures', 'mousemoveevent', 'quickfixtextfunc', 'spelloptions', 'thesaurusfunc', 'xtermcodes'.
  • Menambahkan perintah baru: argdedupe, balt, def, defcompile, disassemble, echoconsole, enddef, eval, ekspor, final, impor, var dan vim9script.
  • Dimungkinkan untuk membuka terminal di jendela pop-up (terminal popup) dan memilih skema warna terminal.
  • Menambahkan mode saluran untuk interaksi dengan server LSP (Language Server Protocol).
  • Menambahkan dukungan untuk sistem operasi Haiku.

Sumber: opennet.ru

Tambah komentar