Neovim 0.7.0 vÀljaanne, tÀiustatud versioon Vim redigeerijast

Neovim 0.7.0 vĂ€ljaanne, Vim redigeerija haru, mis keskendub laiendatavuse ja paindlikkuse suurendamisele, on avaldatud. Projekti raames on ĂŒle seitsme aasta kĂ€imas Vim koodibaasi ĂŒmbertegemine, mille tulemuseks on muudatused, mis lihtsustavad koodi haldamist, pakuvad vahendeid töö jagamiseks mitme hooldaja vahel, eraldavad liidese pĂ”hiosast (liidest saab muuta, mĂ”jutamata sisu) ja rakendavad uut laiendatavat arhitektuuri, mis pĂ”hineb plug-in'del. Projekti algsed arendused levitatakse Apache 2.0 litsentsi alusel, pĂ”hiosa aga Vim litsentsi alusel. Valmis kogumikud on ette valmistatud Linuxi (appimage), Windowsi ja macOS-i jaoks.

Neovimi loomise pĂ”hjuseks on Vim-i probleemid, sealhulgas paisunud monoliitne koodibaas, mis koosneb enam kui 300 000 C keeles (C89) kirjutatud koodirivist. Vim koodibaasi kĂ”igis nĂŒanssides jagub mĂ”istmiseks vaid mĂ”ni inimene, ning kĂ”iki muudatusi jĂ€lgib vaid ĂŒks hooldaja, mis teeb redigeerija hooldamise ja tĂ€iustamise keeruliseks. Neovimis pakutakse GUI toetamiseks Vim-i tuumakoodis sisse ehitatud koodi asemel universaalse kihina, mis vĂ”imaldab luua liideseid erinevate tööriistakomplektide abil.

Neovimi plug-in'd töötavad eraldi protsessidena, suheldes nende vahel MessagePack formaadis. Plug-in'idega toimub suhtlus asĂŒnkroonselt, ilma et redigeerija pĂ”hikomponendid oleksid blokeeritud. Plug-in'i kutsumiseks saab kasutada TCP-soket, st plug-in vĂ”ib töötada vĂ€lissĂŒsteemis. Samuti jÀÀb Neovim tagurpidi ĂŒhilduvaks Vim-iga, jĂ€tkab Vimscript'i toetamist (alternatiivina pakutakse Lua) ja toetab enamikku tavapĂ€rastest Vim plug-in'idest. Neovimi tĂ€iustatud funktsioone saab kasutada plug-in'ides, mis on loodud Neovim-spetsiifilise API abil.

Praeguseks on vÀlja töötatud umbes 130 spetsiifilist plugina, on saadaval sidemed pluginate loomise ja kasutajaliideste rakendamiseks erinevates programmeerimiskeeltes (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) ja raamistikes (Qt, ncurses, Node.js, Electron, GTK). Arendatakse mitmeid eri liidese variante. GUI-lahendused meenutavad paljuski pluginaid, kuid erinevalt pluginatest kutsuvad nad esile Neovimi funktsioonide vÀljakutse, samas kui pluginaid kutsutakse Neovimist.

Uues versioonis on pakutud algtoetust kaugkomplektile, mis vĂ”imaldab Neovimi kĂ€ivitada serveris ja sellele ĂŒhenduda kliendisĂŒsteemist, kasutades eraldi ui_client'i. Teiste muudatuste seas: Python 2 toe lĂ”petamine, Lua-funktsioonide lubamine keymap'is, API-sse on lisatud uusi kĂ€ske, Lua kasutamise vĂ”imalusi pluginade arendamiseks ja konfiguratsiooni haldamiseks on oluliselt laiendatud, probleemide diagnoosimise tööriistu on parendatud, on lisatud globaalne olekuriba tugi ja tehtud jĂ”udlusoptimeerimisi. Sisseehitatud LSP-kliendi (Language Server Protocol) vĂ”imalusi on laiendatud, mida saab kasutada koodi analĂŒĂŒsi ja automaatse tĂ€iendamise loogika viimiseks vĂ€listesse serverid.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster