Rilis Neovim 0.6.0, versi modern saka editor Vim

Neovim 0.6.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.

Sawetara owah-owahan ing versi anyar:

  • Π’ vim-скрипты Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ скриптом.
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° языка Lua для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ управлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ. Π’ vim-скриптах Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Π° Lua-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ прСфикса v:lua (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«arg1->v:lua.somemod.func(arg2)Β»).
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности встроСнного LSP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Language Server Protocol), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для выноса Π»ΠΎΠ³ΠΈΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ автодополнСния ΠΊΠΎΠ΄Π° Π½Π° внСшниС сСрвСры. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ LSP позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 150 Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языков программирования, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… для Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° Visual Studio Code.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Ρ‹ срСдства диагностики ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² ΠΊΠΎΠ΄Π΅. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° тСкста диагностичСских сообщСний ΠΈ ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΊΠΎΠ½ с ΠΊΠΎΠ΄ΠΎΠΌ, связанным с ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ сообщСниями. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° диагностичСских сообщСний, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… LSP-сСрвСром.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π²Ρ‹Π²ΠΎΠ΄Π° Π±Π»ΠΎΠΊΠΎΠ² со слуТСбной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.
  • ВнСсСны Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, задСйствована Ρ…ΡΡˆ Ρ‚Π°Π±Π»ΠΈΡ†Π° для подсвСчиваСмых ΠΈΠΌΡ‘Π½ Π³Ρ€ΡƒΠΏΠΏ.
  • ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Windows 7 ΠΈ 32-разрядных сборок для Windows.

Source: opennet.ru

Add a comment