V okviru projekta Neovim se kodna baza Vim predeluje že več kot pet let, zaradi česar prihaja do sprememb, ki poenostavljajo vzdrževanje kode, omogočajo delitev dela med več vzdrževalci, ločujejo vmesnik od osnovni del (vmesnik je mogoče spremeniti, ne da bi se dotaknili notranjosti) in uvesti novega
Ena od težav z Vimom, ki je spodbudila ustvarjanje Neovim, je bila njegova napihnjena, monolitna kodna baza, sestavljena iz več kot 300 tisoč vrstic kode C (C89). Le nekaj ljudi razume vse nianse kodne baze Vim, vse spremembe pa nadzoruje en vzdrževalec, kar otežuje vzdrževanje in izboljšanje urejevalnika. Namesto kode, ki je vgrajena v jedro Vim za podporo GUI, Neovim predlaga uporabo univerzalne plasti, ki vam omogoča ustvarjanje vmesnikov z uporabo različnih kompletov orodij.
Vtičniki za Neovim se zaženejo kot ločeni procesi, za interakcijo s katerimi se uporablja format MessagePack. Interakcija z vtičniki se izvaja asinhrono, brez blokiranja osnovnih komponent urejevalnika. Za dostop do vtičnika lahko uporabite vtičnico TCP, tj. vtičnik se lahko izvaja v zunanjem sistemu. Hkrati Neovim ostaja nazaj združljiv z Vimom, še naprej podpira Vimscript (Lua je na voljo kot alternativa) in podpira povezave za večino standardnih vtičnikov Vim. Napredne funkcije Neovim je mogoče uporabiti v vtičnikih, zgrajenih z API-ji, specifičnimi za Neovim.
Trenutno že
Nekatere spremembe v
- Dodan velik del novih funkcij API in dogodkov uporabniškega vmesnika.
- Dodana nova standardna knjižnica Nvim-Lua za razvoj vtičnikov v jeziku Lua.
- Nadaljuje se razvoj protokola uporabniškega vmesnika, ki posodablja informacije na zaslonu na ravni vrstic in ne posameznih znakov.
- Dodana podpora za polna lebdeča okna, ki jih je mogoče postaviti na poljubno mesto, priložiti, povezati s posameznimi medpomnilniki za urejanje in združiti v večmrežnem načinu.
- Dodana možnost 'pumblend' za prosojne spustne menije.
Vir: opennet.ru