Saadaval on Neovim 0.4, ajakohustatud versioon Vim redaktorist

Avaldatud väljalase Neovim 0.4, haru Vim redaktorist, mille keskmes on laienemise ja paindlikkuse suurendamine. Projekti algsed arengud jaotatakse on litsentseeritud Apache 2.0 all, põhiosa aga Vim litsentsi all.

Neovim projekti raames on rohkem kui viis aastat kestnud Vim koodibaasi ümbertegemine, mille tulemusena tehakse muudatusi, mis lihtsustavad koodi hooldust, pakuvad tööjaotuse vahendeid mitmele hooldajale, eraldavad liidese põhiosast (liidest saab muuta, ilma et seesmist osa puudutaks) ja rakendavad uut laiendatavat arhitektuuri plugin'ide põhjal.

Vim-i probleemidest, mis inspireerisid Neovimi loomist, tõstatatakse paisutatud monoliitne koodibaas, mis koosneb rohkem kui 300 000 reas C (C89) keeles. Kõigis Vim-i koodibaasi nüanssides mõistab vaid mõned inimesed, samas kui kõiki muudatusi kontrollib üks hooldaja, mis raskendab redaktori hooldust ja arendamist. Neovim pakub GUI toe toetamiseks kaasasoleva Vim-i koodi asemel universaalset kihte, mis võimaldab erinevate tööriistade kasutamist liideste loomisel.

Neovimi pluginate käivitatakse eraldi protsessidena, mille suhtlemiseks kasutatakse MessagePack formaati. Pluginate vaheline suhtlus toimub asünkroonselt ning ei blokeeri toimetaja põhikomponente. Pluginatele juurdepääsuks võib kasutada TCP-soket, st plugin võib töötada välises süsteemis. Sellegipoolest on Neovim täielikult ühilduv Vimi ka, toetades Vimscripti (alternatiivina on pakutud Lua) ning enamikku Viimi vaikimisi pluginaid. Neovimi täiendavaid võimalusi saab kasutada pluginate arendamisel, mis on loodud Neovimile spetsiifilist API-d kasutades.

Praegu on juba valmis umbes 80 spetsiifilist pluginaid, on saadaval sidemed pluginate loomisel ja liidesete rakendamisel erinevatel programmeerimiskeeltel (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) ja raamistikel (Qt5, ncurses, Node.js, Electron, GTK+). Arendatakse mitmeid kasutajaliidese variante. GUI-lahendused meenutavad paljuski pluginaid, kuid erinevalt neist kutsuvad nad esile Neovimi funktsioonide väljakutsumise, samas kui pluginaid käivitatakse Neovimist.

Mõned muudatused uus versioon:

  • Lisatud suur hulk uusi API funktsioone ja kasutajaliidese sündmusi.
  • Lisatud uus standardne Nvim-Lua teek pluginate arendamiseks Lua keeles.
  • Kasutajaliidese protokolli edasiarendamine jätkub, et värskendada teavet ekraanil ridade tasemel, mitte üksikute märkide tasemel.
  • Lisatud täieõiguslikud ujukavad aknad, mida saab paigutada ükskõik kuhu, kinnitada, linkida eraldi redigeerimisbufferitega ja grupeerida Multigrid režiimis.
  • Lisatud 'pumblend' valik poolläbipaistvate rippmenüüde jaoks.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster