Release of Neovim 0.6.0, versi dimodernisasi tina redaktur Vim

Neovim 0.6.0 parantos dileupaskeun, garpu pangropéa Vim fokus kana ningkatkeun ekstensibilitas sareng kalenturan. Proyék ieu parantos ngerjakeun deui dasar kode Vim salami langkung ti tujuh taun, salaku hasil tina parobihan anu dilakukeun anu nyederhanakeun pangropéa kode, nyayogikeun cara ngabagi tanaga kerja antara sababaraha pangurus, misahkeun antarmuka tina bagian dasar (antarmuka tiasa janten robah tanpa noél internals) jeung nerapkeun arsitéktur extensible anyar dumasar kana plugins. Pangwangunan asli proyék disebarkeun dina lisénsi Apache 2.0, sareng bagian dasarna disebarkeun dina lisénsi Vim. Majelis anu siap-siap disiapkeun pikeun Linux (appimage), Windows sareng macOS.

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, sakitar 130 plugins khusus parantos disiapkeun, beungkeutan sayogi pikeun nyiptakeun plugins sareng ngalaksanakeun antarmuka nganggo sababaraha basa pamrograman (C ++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) sareng kerangka (Qt, ncurses, Node .js, Éléktron, GTK). Sababaraha pilihan panganteur pamaké keur dimekarkeun. GUI tambihan-ons loba kawas plugins, tapi teu kawas plugins, aranjeunna initiate nelepon ka fungsi Neovim, bari plugins disebut ti jeroeun Neovim.

Sababaraha parobahan dina versi anyar:

  • Rojongan pikeun variabel lokal geus ditambahkeun kana skrip vim, lingkup nu ngan diwatesan ku Aksara ayeuna.
  • Pangrojong basa Lua sacara signifikan ningkat pikeun ngembangkeun plugin sareng manajemén konfigurasi. Dina skrip vim, kamampuhan pikeun nelepon Lua fungsi salaku métode geus ditambahkeun ku nangtukeun v:lua awalan (contona, "arg1-> v: lua.somemod.func(arg2)").
  • Kamampuhan tina klien LSP diwangun-di (Language Server Protocol) geus dimekarkeun, nu bisa dipaké pikeun mindahkeun logika analisis jeung kode parantosan ka server éksternal. Pamakéan LSP ngamungkinkeun anjeun ngagunakeun langkung ti 150 pawang anu siap-siap pikeun sababaraha basa pamrograman anu disiapkeun pikeun pangropéa Visual Studio Code.
  • Alat ningkat pikeun ngadiagnosa masalah dina kode. Ditambahkeun kamampuan pikeun nampilkeun téks pesen diagnostik sareng windows ngambang kalayan kode anu aya hubunganana sareng pesen sapertos kitu. Ngolah pesen diagnostik anu dikirimkeun ku server LSP disayogikeun.
  • rojongan ditambahkeun pikeun string virtual, nu bisa dipaké, contona, pikeun nembongkeun blok kalayan informasi jasa.
  • Rupa-rupa optimasi kinerja geus dijieun, contona, tabel hash diaktipkeun pikeun ngaran grup disorot.
  • Rojongan pikeun Windows 7 sareng 32-bit ngawangun Windows parantos dileungitkeun.

sumber: opennet.ru

Tambahkeun komentar