Neovim 0.4, shanduro yemazuva ano yeVim mupepeti, inowanikwa

rakabudiswa kusunungura Neovim 0.4, forogo kubva kuVim editor, focused pakuwedzera kuwedzera uye kushanduka. Magadzirirwo ekutanga epurojekiti paradzira pasi peApache 2.0 rezinesi, uye chikamu chepasi pasi peVim rezinesi.

Mukati mehurongwa hweNeovim purojekiti, iyo Vim kodhi base yave ichigadziriswazve kweanopfuura makore mashanu, semhedzisiro yekuchinja kunoitwa iyo kurerutsa kodhi yekugadzirisa, inopa nzira yekuparadzanisa basa pakati pevazhinji vanochengetedza, kupatsanura iyo interface kubva kune base chikamu (iyo interface inogona kuchinjwa pasina kubata vemukati) uye shandisa itsva extensible architecture zvichibva pamapulagi.

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 kare yakagadzirirwa nezve 80 chaiyo plugins, zvisungo zviripo pakugadzira plugins uye kushandisa mainterface uchishandisa akasiyana mitauro mitauro (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) uye masisitimu (Qt5, ncurses, Node.js, Erekitironi, GTK+). Mazhinji ekushandisa interface sarudzo dziri kugadzirwa. GUI ma-add-ons akafanana nemapulagi, asi kusiyana nemapulagi, anotanga mafoni kuNeovim mabasa, nepo mapulagi anodaidzwa kubva mukati meNeovim.

Zvimwe zvekuchinja mu shanduro itsva:

  • Yakawedzera chikamu chikuru chemabasa matsva eAPI uye zviitiko zvevashandisi.
  • Yakawedzera raibhurari nyowani Nvim-Lua yekugadzira mapulagi mumutauro weLua.
  • Iko kuvandudzwa kweiyo mushandisi interface protocol inoenderera mberi, ichivandudza ruzivo pachiratidziro pamwero wemitsara, kwete mavara ega.
  • Yakawedzerwa tsigiro yemahwindo anoyangarara akazara, ayo anogona kuiswa munzvimbo chero ipi zvayo, akasungirirwa, akabatanidzwa kune ega editing buffers, uye akaiswa muMultigrid mode.
  • Yakawedzera 'pumblend' sarudzo ye translucent dropdown menus.

Source: opennet.ru

Voeg