Neovim 0.5, versi modern saka editor Vim, kasedhiya

Sawise meh rong taun pembangunan, Neovim 0.5 wis dirilis, garpu saka editor Vim fokus kanggo nambah extensibility lan keluwesan. Proyèk iki wis nggarap basis kode Vim luwih saka pitung taun, minangka asil owah-owahan sing ndadekake pangopènan kode, nyedhiyakake sarana kanggo misahake tenaga kerja ing antarane sawetara pangurus, misahake antarmuka saka bagean dhasar (antarmuka bisa diganti tanpa ndemek internals) lan ngleksanakake arsitektur extensible anyar adhedhasar plugin. Pangembangan asli proyek kasebut disebarake ing sangisore lisensi Apache 2.0, lan bagean dhasar disebarake ing sangisore lisensi Vim.

Salah sawijining masalah karo Vim sing nyebabake nggawe Neovim yaiku basis kode monolitik sing kembung, sing dumadi saka luwih saka 300 ewu baris kode C (C89). Mung sawetara wong sing ngerti kabeh nuansa codebase Vim, lan kabeh owah-owahan dikontrol dening siji maintainer, sing ndadekake angel kanggo njaga lan nambah editor. Tinimbang kode sing dibangun ing inti Vim kanggo ndhukung GUI, Neovim ngusulake nggunakake lapisan universal sing ngidini sampeyan nggawe antarmuka nggunakake macem-macem toolkit.

Plugins kanggo Neovim dibukak minangka pangolahan kapisah, kanggo interaksi karo kang format MessagePack digunakake. Interaksi karo plugin ditindakake kanthi ora sinkron, tanpa ngalangi komponen dhasar editor. Kanggo ngakses plugin, soket TCP bisa digunakake, yaiku. plugin bisa mbukak ing sistem external. Ing wektu sing padha, Neovim tetep kompatibel karo Vim, terus ndhukung Vimscript (Lua ditawakake minangka alternatif) lan ndhukung sambungan kanggo umume plugin Vim standar. Fitur lanjutan Neovim bisa digunakake ing plugin sing dibangun nggunakake API khusus Neovim.

Saiki, kira-kira 130 plugin khusus wis disiapake, binding kasedhiya kanggo nggawe plugin lan ngleksanakake antarmuka nggunakake macem-macem basa pemrograman (C ++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) lan kerangka kerja (Qt, ncurses, Node .js, Electron, GTK). Sawetara opsi antarmuka pangguna lagi dikembangake. Tambahan GUI kaya plugin, nanging ora kaya plugin, dheweke miwiti telpon menyang fungsi Neovim, nalika plugin diarani saka Neovim.

Sawetara owah-owahan ing versi anyar:

  • Nambahake klien LSP sing dibangun ing (Language Server Protocol) ing Lua, sing bisa digunakake kanggo nyambung menyang layanan eksternal kanggo analisis lan ngrampungake kode.
  • Nambahake API kanggo ngontrol desain buffer alokasi.
  • Nambahake API kanggo nggunakake tag lengkap kanggo nglacak owah-owahan ing tingkat byte.
  • Dhukungan sing ditambahi kanggo Lua minangka basa kanggo pangembangan plugin lan manajemen konfigurasi.
  • Ditambahake dhukungan eksperimen kanggo mesin parsing wit-sitter.

Source: opennet.ru

Add a comment