Neovim 0.4, ẹya tuntun ti olootu Vim, wa

atejade tu silẹ Neovim 0.4, orita lati ọdọ olootu Vim, lojutu lori jijẹ extensibility ati irọrun. Atilẹba idagbasoke ti ise agbese tànkálẹ labẹ iwe-aṣẹ Apache 2.0, ati apakan ipilẹ labẹ iwe-aṣẹ Vim.

Laarin ilana ti iṣẹ akanṣe Neovim, ipilẹ koodu Vim ti ni atunṣe fun diẹ sii ju ọdun marun lọ, nitori abajade eyiti a ṣe awọn ayipada ti o rọrun itọju koodu, pese ọna ti pinpin iṣẹ laarin ọpọlọpọ awọn olutọju, yato si wiwo lati inu ipilẹ apakan (ni wiwo le wa ni yipada lai kàn awọn internals) ki o si se titun kan extensible faaji da lori awọn afikun.

Ọ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ọ tẹlẹ pese sile nipa awọn afikun 80 pato, 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 (Qt5, 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 laisi 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 ayipada ninu titun ti ikede:

  • Ṣafikun ipin nla ti awọn iṣẹ API tuntun ati awọn iṣẹlẹ wiwo olumulo.
  • Ṣafikun ile-ikawe boṣewa tuntun Nvim-Lua fun idagbasoke awọn afikun ni ede Lua.
  • Idagbasoke ilana ilana wiwo olumulo tẹsiwaju, imudojuiwọn alaye loju iboju ni ipele ti awọn laini, dipo awọn ohun kikọ kọọkan.
  • Atilẹyin ti a ṣafikun fun awọn ferese lilefoofo loju omi ni kikun, eyiti o le gbe si eyikeyi ipo, somọ, sopọ mọ awọn buffers ṣiṣatunṣe kọọkan, ati akojọpọ ni ipo Multigrid.
  • Fikun aṣayan 'pumblend' fun awọn akojọ aṣayan silẹ translucent.

orisun: opennet.ru

Fi ọrọìwòye kun