Neovim 0.4, Vim editorearen bertsio modernizatua, eskuragarri dago

argitaratua askatu Neovim 0.4, Vim editorearen sardexka bat, zentratuta hedagarritasuna eta malgutasuna handitzean. Proiektuaren jatorrizko garapenak barreiatu Apache 2.0 lizentziapean, eta oinarrizko zatia Vim lizentziapean.

Neovim proiektuaren esparruan, Vim kode-oinarria bost urte baino gehiago darama berregiten, eta horren ondorioz kodeen mantentze-lanak errazten dituzten aldaketak egiten dira, hainbat mantentzaileren artean lana banatzeko baliabidea eskaintzen dute, interfazea eta interfazea bereizten dute. oinarrizko zatia (interfazea alda daiteke barneak ukitu gabe) eta berri bat ezarri arkitektura hedagarria pluginetan oinarrituta.

Neovim-en sorrera bultzatu zuen Vim-en arazoetako bat bere kode-oinarri puztua eta monolitikoa izan zen, C (C300) kode 89 mila lerro baino gehiagoz osatua. Pertsona gutxi batzuek bakarrik ulertzen dituzte Vim kode-oinarriaren Γ±abardura guztiak, eta aldaketa guztiak zaintzaile batek kontrolatzen ditu, eta horrek zaildu egiten du editorea mantentzea eta hobetzea. GUI onartzen duen Vim nukleoan integratutako kodearen ordez, Neovim-ek geruza unibertsala erabiltzea proposatzen du, hainbat tresna-kit erabiliz interfazeak sortzeko aukera ematen duena.

Neovim-erako pluginak prozesu bereizi gisa abiarazten dira, eta horrekin elkarrekintzarako MessagePack formatua erabiltzen da. Pluginekin elkarrekintza modu asinkronoan egiten da, editorearen oinarrizko osagaiak blokeatu gabe. Pluginera sartzeko, TCP socket bat erabil daiteke, hau da. plugina kanpoko sistema batean exekutatu daiteke. Aldi berean, Neovim-ek Vim-ekin bateragarria izaten jarraitzen du, Vimscript onartzen jarraitzen du (Lua alternatiba gisa eskaintzen da) eta Vim plugin estandar gehienentzako konexioak onartzen ditu. Neovim-en ezaugarri aurreratuak Neovim-en berariazko APIak erabiliz eraikitako pluginetan erabil daitezke.

Momentuz dagoeneko prestatuta 80 plugin espezifiko inguru, loturak daude eskuragarri pluginak sortzeko eta interfazeak ezartzeko hainbat programazio-lengoaia erabiliz (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) eta esparruak (Qt5, ncurses, Node.js, Elektroia, GTK+). Hainbat erabiltzaile-interfaze aukera garatzen ari dira. GUI gehigarriak pluginak bezalakoak dira, baina pluginak ez bezala, Neovim funtzioetarako deiak abiarazten dituzte, eta pluginak Neovim barrutik deitzen dira.

Aldaketa batzuk bertsio berria:

  • API funtzio berrien eta erabiltzailearen interfazearen gertaeren zati handi bat gehitu da.
  • Nvim-Lua liburutegi estandar berri bat gehitu da Lua hizkuntzan pluginak garatzeko.
  • Erabiltzaile-interfazearen protokoloaren garapenak aurrera jarraitzen du, pantailako informazioa lerro mailan eguneratuz, karaktere indibidualak baino.
  • Lehio mugikor osoetarako laguntza gehitu da, edozein tokitan jar daitezkeenak, erantsita, banakako edizio-bufferetara lotuak eta Multisareta moduan taldekatu daitezkeenak.
  • "Pumblend" aukera gehitu da goitibeherako menu zeharrargietarako.

Iturria: opennet.ru

Gehitu iruzkin berria