Neovim 0.4, versi dimodernisasi tina pangropéa Vim, sayogi

diterbitkeun ngabebaskeun Neovim 0.4, garpu ti pangropéa Vim, museur on ngaronjatkeun extensibility sarta kalenturan. kamajuan aslina tina proyék nyebar handapeun lisénsi Apache 2.0, sareng bagian dasar dina lisénsi Vim.

Salaku bagian tina proyék Neovim, dasar kode Vim parantos didamel deui langkung ti lima taun, salaku hasil tina parobihan anu dilakukeun anu nyederhanakeun pangropéa kode, nyayogikeun cara ngabagi tanaga kerja antara sababaraha pangurus, misahkeun antarmuka tina dasarna. bagian (antarmuka bisa dirobah tanpa noél internals) sarta nerapkeun anyar arsitéktur extensible dumasar kana plugins.

Salah sahiji masalah sareng Vim anu nyababkeun nyiptakeun Neovim nyaéta dasar kode monolitik na, anu diwangun ku langkung ti 300 rébu garis kode C (C89). Ngan sababaraha urang ngartos sagala nuansa codebase Vim, sarta sakabeh parobahan dikawasa ku hiji maintainer, nu ngajadikeun hésé pikeun ngajaga tur ningkatkeun redaktur. Gantina kodeu diwangun kana inti Vim pikeun ngarojong GUI, Neovim proposes ngagunakeun lapisan universal nu ngidinan Anjeun pikeun nyieun interfaces ngagunakeun rupa toolkits.

Plugins pikeun Neovim diluncurkeun salaku prosés anu misah, pikeun interaksi anu nganggo format MessagePack. Interaksi sareng plugins dilaksanakeun asynchronously, tanpa blocking komponén dasar éditor. Pikeun ngakses plugin, hiji stop kontak TCP bisa dipaké, i.e. plugin nu bisa dijalankeun dina sistem éksternal. Dina waktos anu sami, Neovim tetep cocog sareng Vim, teras ngadukung Vimscript (Lua ditawarkeun salaku alternatif) sareng ngadukung sambungan pikeun kalolobaan plugins Vim standar. Fitur canggih Neovim tiasa dianggo dina plugins anu diwangun nganggo API khusus Neovim.

Ayeuna geus disiapkeun kira-kira 80 plugins husus, bindings sadia pikeun nyieun plugins sarta nerapkeun interfaces ngagunakeun rupa basa programming (C ++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) jeung frameworks (Qt5, ncurses, Node.js, Éléktron, GTK+). Sababaraha pilihan panganteur pamaké keur dimekarkeun. GUI tambihan-ons loba kawas plugins, tapi teu saperti plugins, aranjeunna initiate nelepon ka fungsi Neovim, bari plugins disebut ti jeroeun Neovim.

Sababaraha parobahan dina versi anyar:

  • Ditambahkeun sabagian ageung fungsi API anyar sareng acara antarmuka pangguna.
  • Ditambahkeun perpustakaan standar anyar Nvim-Lua pikeun ngembangkeun plugins dina basa Lua.
  • Ngembangkeun protokol panganteur pamaké terus, ngamutahirkeun informasi dina layar dina tingkat garis, tinimbang karakter individu.
  • Ditambahkeun rojongan pikeun full-fledged floating windows, nu bisa ditempatkeun di lokasi mana wae, napel, numbu ka panyangga éditan individu, sarta dikelompokeun dina modeu Multigrid.
  • Ditambahkeun pilihan 'pumblend' pikeun ménu dropdown tembus.

sumber: opennet.ru

Tambahkeun komentar