Rilis Neovim 0.7.0, versi modern saka editor Vim

Neovim 0.7.0 wis dirilis, garpu saka editor Vim fokus kanggo nambah extensibility lan keluwesan. Proyèk iki wis ngolah basis kode Vim luwih saka pitung taun, minangka asil owah-owahan sing nyederhanakake 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. Majelis sing wis siap disiapake kanggo Linux (appimage), Windows lan macOS.

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.

Versi anyar nawakake support dhisikan kanggo karya remot, ngijini sampeyan kanggo mbukak Neovim ing server lan nyambung menyang saka sistem klien nggunakake ui_client kapisah. Owah-owahan liyane kalebu: dhukungan kanggo Python 2 wis mandheg, panggunaan fungsi Lua ing keymap wis diidini, perintah anyar wis ditambahake ing API, kemampuan nggunakake basa Lua kanggo ngembangake plugin lan manajemen konfigurasi wis ditambahi sacara signifikan, alat kanggo diagnosa masalah ing kode wis apik, support kanggo garis status global wis ditambahaké, optimizations kinerja wis digawa metu. Kapabilitas klien LSP sing dibangun ing (Language Server Protocol) wis ditambahi, sing bisa digunakake kanggo nransfer logika analisis lan completion kode menyang server eksternal.

Source: opennet.ru

Add a comment