Neovimi 0.7.0 vÀljaanne, uuendatud versioon Vim toimetajast

VĂ€lja on antud Neovim 0.7.0, mis on Vim-i redaktori haru, keskendudes laiendatavuse ja paindlikkuse parandamisele. Projekti raames on juba ĂŒle seitsme aasta toiminud Vim-i koodibaasi ĂŒmberstruktureerimine, mille tulemuseks on muudatused, mis lihtsustavad koodi hooldust, pakuvad töö jagamise vahendeid mitmele hooldajale, eraldavad liidese pĂ”hiosast (liidest saab muuta, ilma et peaks puutuma pĂ”hja) ja rakendavad uut laiendatavat pluginapĂ”hist arhitektuuri. Projekti originaaltooted levitatakse Apache 2.0 litsentsi alusel, samas kui pĂ”hiosa kuulub Vim litsentsi alla. Valmis koostised on ette valmistatud Linuxi (appimage), Windowsi ja macOS-i jaoks.

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 valmis juba umbes 130 spetsiaalset plugini, saadaval on sidemed pluginite ja liideste loomiseks erinevate programmeerimiskeelte (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) ja raamistikud (Qt, ncurses, Node.js, Electron, GTK) kasutamiseks. Arendatakse mitmeid kasutajaliidese variante. GUI-lisandmoodulid meenutavad paljuski pluginaid, kuid erinevalt pluginatest kÀivitavad need Neovimi funktsioonide kutsumist, samas kui pluginaid kutsutakse Neovimist.

Uues versioonis on pakutud algset tuge kaugtööks, mis vĂ”imaldab Neovimi kĂ€ivitada serveril ja ja liituda sellega kliendi sĂŒsteemist, kasutades eraldi ui_client. Muudatuste seas: Python 2 toe lĂ”petamine, Lua funktsioonide kasutamise lubamine keymap'is, uus API kĂ€skude lisamine, Lua keele kasutamise vĂ”imaluste mĂ€rkimisvÀÀrne laiendamine pistikprogrammide arendamiseks ja konfigureerimise haldamiseks, koodiprobleemide diagnoosimise tööriistade parendamine, globaalsete olekureadede toe lisamine ja jĂ”udluse optimeerimine. VĂ€ljakutse LSP-klient (Language Server Protocol) on laienenud, mida saab kasutada koodi analĂŒĂŒsi ja automaatse tĂ€iendamise loogika vĂ€ljastamiseks. serveritesse.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster