Neovim 0.5, shanduro yemazuva ano yeVim mupepeti, inowanikwa

Mushure meanoda kusvika makore maviri ebudiriro, Neovim 0.5 yakaburitswa, forogo yemupepeti weVim 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.

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.

Dzimwe shanduko mushanduro itsva:

  • Yakawedzera yakavakirwa-mukati LSP mutengi (Mutauro Server Protocol) muLua, iyo inogona kushandiswa kubatanidza kune ekunze masevhisi ekuongorora uye kupedzisa kodhi.
  • Yakawedzera API yekudzora dhizaini yekugovera mabhafa.
  • Yakawedzera API yekushandisa ma tag akawedzerwa kuteedzera shanduko padanho rebyte.
  • Yakawedzera rutsigiro rweLua semutauro wekusimudzira plugin uye manejimendi ekugadzirisa.
  • Yakawedzera kuyedza rutsigiro rwemuti-sitter parsing injini.

Source: opennet.ru

Voeg