Neovim 0.5, ẹya tuntun ti olootu Vim, wa

Lẹhin ti o fẹrẹ to ọdun meji ti idagbasoke, Neovim 0.5 ti tu silẹ, orita ti olootu Vim ti dojukọ lori alekun extensibility ati irọrun. Ise agbese na ti n ṣe atunṣe ipilẹ koodu Vim fun diẹ ẹ sii ju ọdun meje lọ, nitori abajade eyi ti awọn ayipada ṣe ti o rọrun itọju koodu, pese ọna ti pinpin iṣẹ laarin ọpọlọpọ awọn olutọju, yato si wiwo lati apakan ipilẹ (ni wiwo le jẹ. yipada laisi fọwọkan awọn ti abẹnu) ati ṣe imuse faaji tuntun ti o da lori awọn afikun. Awọn idagbasoke atilẹba ti iṣẹ akanṣe naa ti pin labẹ iwe-aṣẹ Apache 2.0, ati pe apakan ipilẹ ti pin labẹ iwe-aṣẹ Vim.

Ọkan ninu awọn iṣoro pẹlu Vim ti o fa ẹda ti Neovim jẹ bloated rẹ, ipilẹ koodu monolithic, ti o ni diẹ sii ju awọn laini 300 ẹgbẹrun ti koodu C (C89). Awọn eniyan diẹ nikan loye gbogbo awọn nuances ti koodu koodu Vim, ati pe gbogbo awọn ayipada ni iṣakoso nipasẹ olutọju kan, eyiti o jẹ ki o ṣoro lati ṣetọju ati ilọsiwaju olootu. Dipo koodu ti a ṣe sinu mojuto Vim lati ṣe atilẹyin GUI, Neovim ṣe imọran lilo Layer gbogbo agbaye ti o fun ọ laaye lati ṣẹda awọn atọkun nipa lilo awọn irinṣẹ irinṣẹ lọpọlọpọ.

Awọn afikun fun Neovim ti ṣe ifilọlẹ bi awọn ilana lọtọ, fun ibaraenisepo pẹlu eyiti ọna kika MessagePack ti lo. Ibaraṣepọ pẹlu awọn afikun ni a ṣe ni asynchronously, laisi idilọwọ awọn paati ipilẹ ti olootu. Lati wọle si itanna, iho TCP le ṣee lo, i.e. itanna le ti wa ni ṣiṣe awọn lori ohun ita eto. Ni akoko kanna, Neovim wa sẹhin ni ibamu pẹlu Vim, tẹsiwaju lati ṣe atilẹyin Vimscript (Lua ni a funni bi yiyan) ati ṣe atilẹyin awọn asopọ fun pupọ julọ awọn afikun Vim boṣewa. Awọn ẹya ilọsiwaju ti Neovim le ṣee lo ni awọn afikun ti a ṣe ni lilo awọn API-pato Neovim.

Lọwọlọwọ, nipa awọn afikun 130 kan pato ti pese tẹlẹ, awọn abuda wa fun ṣiṣẹda awọn afikun ati imuse awọn atọkun nipa lilo ọpọlọpọ awọn ede siseto (C ++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) ati awọn ilana (Qt, ncurses, Node .js, Electron, GTK). Orisirisi awọn aṣayan ni wiwo olumulo ti wa ni idagbasoke. Awọn afikun GUI dabi awọn afikun, ṣugbọn ko dabi awọn afikun, wọn bẹrẹ awọn ipe si awọn iṣẹ Neovim, lakoko ti a pe awọn afikun lati inu Neovim.

Diẹ ninu awọn iyipada ninu ẹya tuntun:

  • Ṣe afikun alabara LSP ti a ṣe sinu rẹ (Ilana olupin Ede) ni Lua, eyiti o le ṣee lo lati sopọ si awọn iṣẹ ita fun itupalẹ ati ipari koodu.
  • Ṣafikun API kan lati ṣakoso apẹrẹ ti awọn buffers ipin.
  • Ṣafikun API kan lati lo awọn afi ti o gbooro lati tọpa awọn ayipada ni ipele baiti.
  • Atilẹyin gbooro fun Lua gẹgẹbi ede fun idagbasoke itanna ati iṣakoso iṣeto ni.
  • Atilẹyin esiperimenta ti a ṣafikun fun ẹrọ ṣiṣayẹwo igi-sitter.

orisun: opennet.ru

Fi ọrọìwòye kun