Kuburitswa kweNeovim 0.7.0, shanduro yemazuva ano yeVim mupepeti

Neovim 0.7.0 yakaburitswa, forogo yeVim mupepeti yakatarisana nekuwedzera kuwedzera uye kuchinjika. Iyo purojekiti yanga ichigadzirisa iyo Vim kodhi base kweanopfuura makore manomwe, semhedzisiro shanduko dzinoitwa dzinorerutsa kodhi yekuchengetedza, inopa nzira yekuparadzanisa basa pakati pevazhinji vanochengetedza, kupatsanura iyo interface kubva kune base chikamu (iyo interface inogona kuve yakashandurwa pasina kubata vemukati) uye shandisa dhizaini nyowani yakawedzera kubva pamapulagi. Magadzirirwo ekutanga epurojekiti akagoverwa pasi perezinesi reApache 2.0, uye chikamu chakakosha chinogoverwa pasi peVim rezinesi. Magungano akagadzirirwa akagadzirirwa Linux (appimage), Windows uye macOS.

Rimwe rematambudziko neVim rakakurudzira kusikwa kweNeovim raive rakaputika, monolithic kodhi base, inosanganisira inodarika zviuru mazana matatu emitsara yeC (C300) kodhi. Vanhu vashomanana chete vanonzwisisa zvese nuances yeVim codebase, uye shanduko dzese dzinodzorwa nemumwe muchengeti, izvo zvinoita kuti zvive zvakaoma kuchengetedza nekuvandudza mupepeti. Panzvimbo peiyo kodhi yakavakirwa muVim musimboti kutsigira iyo GUI, Neovim inokurudzira kushandisa universal layer iyo inobvumidza iwe kugadzira mainterface uchishandisa akasiyana maturusi ekushandisa.

Plugins yeNeovim inotangwa seyakasiyana maitiro, ekudyidzana ayo iyo MessagePack fomati inoshandiswa. Kudyidzana nema plugins kunoitwa asynchronously, pasina kuvhara izvo zvakakosha zvemupepeti. Kuti uwane iyo plugin, TCP socket inogona kushandiswa, i.e. iyo plugin inogona kumhanya pane yekunze system. Panguva imwecheteyo, Neovim inoramba ichidzokera kumashure inoenderana neVim, inoramba ichitsigira Vimscript (Lua inopihwa seimwe nzira) uye inotsigira zvinongedzo kune akawanda akajairwa Vim plugins. Neovim's advanced features inogona kushandiswa mumaplugins akavakwa achishandisa Neovim-specific APIs.

Parizvino, nezve 130 chaiyo plugins yakatogadzirwa, zvisungo zviripo zvekugadzira plugins uye kushandisa mainterface uchishandisa akasiyana mitauro mitauro (C ++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) uye masisitimu (Qt, ncurses, Node .js, Electron, GTK). Mazhinji ekushandisa interface sarudzo dziri kugadzirwa. GUI ma-add-ons akafanana nemapulagi, asi kusiyana nemapulagi, anotanga mafoni kumabasa eNeovim, nepo mapulagi anodanwa kubva mukati meNeovim.

Iyo vhezheni nyowani inopa yekutanga rutsigiro rwebasa riri kure, ichikubvumidza iwe kumhanya Neovim pane sevha uye ubatanidze kwairi kubva kune mutengi system uchishandisa yakaparadzana ui_client. Dzimwe shanduko dzinosanganisira: kutsigirwa kwePython 2 kwakamiswa, kushandiswa kweLua mabasa mu keymap kwakabvumirwa, mirairo mitsva yakawedzerwa kuAPI, kukwanisa kushandisa mutauro weLua pakugadzira plugins uye kugadzirisa kugadzirisa kwakawedzerwa zvakanyanya, zvishandiso zvekuongorora matambudziko mukodhi zvakagadziridzwa, tsigiro yepasi rose mamiriro bar yakawedzerwa, mashandiro ekuita akaitwa. Iko kugona kweiyo yakavakirwa-mukati LSP mutengi (Mutauro Server Protocol) yakawedzerwa, iyo inogona kushandiswa kuendesa iyo yekuongorora logic uye kodhi kupedzisa kune ekunze maseva.

Source: opennet.ru

Voeg