Neovim 0.4 on saatavilla, modernisoitu versio Vim-editorista

julkaistu vapauta Neovim 0.4, haarukat Vim-editorista, keskittynyt lisäämään skaalautuvuutta ja joustavuutta. Projektin alkuperäiset kehityssuunnat levitän Apache 2.0 -lisenssillä ja perusosa Vim-lisenssillä.

Yli viiden vuoden ajan Neovim-projektissa on muokattu Vim-koodikantaa, minkä seurauksena tehdään muutoksia, jotka yksinkertaistavat koodin ylläpitoa, tarjoavat työkaluja työnjakoon useiden ylläpitäjien välillä, erottavat käyttöliittymän perusosasta (rajapinta). voidaan vaihtaa koskettamatta sisäosia) ja ottaa käyttöön uusi laajennettava arkkitehtuuri laajennusten perusteella.

Yksi Vim-ongelmista, jotka saivat aikaan Neovimin luomisen, on paisunut, monoliittinen koodikanta, jossa on yli 300 89 riviä C-koodia (CXNUMX). Vain harvat ihmiset ymmärtävät Vim-koodikannan kaikki vivahteet, ja kaikkia muutoksia hallitsee yksi ylläpitäjä, mikä vaikeuttaa editorin ylläpitoa ja parantamista. GUI:ta tukevan Vim-ytimeen sisäänrakennetun koodin sijaan Neovim ehdottaa universaalin kerroksen käyttöä, jonka avulla voit luoda käyttöliittymiä erilaisilla työkalusarjoilla.

Neovimin lisäosat käynnistetään erillisinä prosesseina, joiden kanssa MessagePack-muotoa käytetään. Vuorovaikutus laajennusten kanssa suoritetaan asynkronisessa tilassa ilman, että editorin peruskomponentit estetään. TCP-pistorasiaa voidaan käyttää liitännäiseen pääsyyn, ts. laajennus voi toimia ulkoisessa järjestelmässä. Samaan aikaan Neovim pysyy taaksepäin yhteensopivana Vimin kanssa, tukee edelleen Vimscriptiä (Lua tarjotaan vaihtoehtona) ja tukee useimpien tavallisten Vim-laajennusten yhdistämistä. Neovimin edistyneitä ominaisuuksia voidaan käyttää laajennuksissa, jotka on rakennettu Neovim-kohtaisen API:n avulla.

Jo tällä hetkellä valmis Noin 80 erityistä lisäosaa, sidontaa on saatavilla lisäosien ja käyttöliittymätoteutusten luomiseen eri ohjelmointikielillä (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) ja kehyksillä (Qt5, ncurses, Node.js, Electron, GTK+). Useita käyttöliittymävaihtoehtoja kehitetään. GUI-lisäosat ovat monin tavoin samanlaisia ​​kuin laajennukset, mutta toisin kuin laajennukset, ne käynnistävät kutsuja Neovim-toimintoihin, kun taas laajennuksia kutsutaan Neovimin sisältä.

Jotkut muutoksista uusi versio:

  • Suuri osa uusia API-toimintoja ja käyttöliittymätapahtumia on lisätty.
  • Lisätty uusi Nvim-Lua-standardikirjasto Lua-laajennusten kehittämiseen.
  • Käyttöliittymäprotokollan jatkuva kehittäminen, joka päivittää tiedot näytöllä rivitasolla yksittäisten merkkien sijaan.
  • Lisätty tuki täysimittaisille kelluville ikkunoille, jotka voidaan sijoittaa mielivaltaiseen paikkaan, liittää, linkittää erillisiin muokkauspuskureihin, ryhmitellä Multigrid-tilassa.
  • Lisätty 'pumblend'-vaihtoehto läpikuultaviin pudotusvalikoihin.

Lähde: opennet.ru

Lisää kommentti