Neovim projekta ietvaros jau vairāk nekā piecus gadus tiek pārstrādāta Vim kodu bāze, kā rezultātā tiek veiktas izmaiņas, kas vienkāršo koda uzturēšanu, nodrošina darba sadales līdzekli starp vairākiem uzturētājiem, atdala saskarni no bāzes. daļu (interfeisu var mainīt, nepieskaroties iekšējiem elementiem) un ieviest jaunu
Viena no Vim problēmām, kas pamudināja izveidot Neovim, bija tā uzpūstā, monolīta koda bāze, kas sastāvēja no vairāk nekā 300 tūkstošiem C (C89) koda rindiņu. Tikai daži cilvēki saprot visas Vim kodu bāzes nianses, un visas izmaiņas kontrolē viens uzturētājs, kas apgrūtina redaktora uzturēšanu un uzlabošanu. Vim kodolā iebūvētā koda vietā, lai atbalstītu GUI, Neovim piedāvā izmantot universālu slāni, kas ļauj izveidot saskarnes, izmantojot dažādus rīku komplektus.
Neovim spraudņi tiek palaisti kā atsevišķi procesi, mijiedarbībai ar kuriem tiek izmantots MessagePack formāts. Mijiedarbība ar spraudņiem tiek veikta asinhroni, nebloķējot redaktora pamatkomponentus. Lai piekļūtu spraudnim, var izmantot TCP ligzdu, t.i. spraudni var palaist ārējā sistēmā. Tajā pašā laikā Neovim joprojām ir saderīgs ar Vim, turpina atbalstīt Vimscript (Lua tiek piedāvāts kā alternatīva) un atbalsta savienojumus lielākajai daļai standarta Vim spraudņu. Neovim uzlabotās funkcijas var izmantot spraudņos, kas izveidoti, izmantojot Neovim specifiskās API.
Šobrīd jau
Dažas izmaiņas
- Pievienota liela daļa jaunu API funkciju un lietotāja interfeisa notikumu.
- Pievienota jauna standarta bibliotēka Nvim-Lua spraudņu izstrādei Lua valodā.
- Lietotāja interfeisa protokola izstrāde turpinās, aktualizējot informāciju ekrānā rindu, nevis atsevišķu rakstzīmju līmenī.
- Pievienots atbalsts pilnvērtīgiem peldošiem logiem, kurus var novietot jebkurā vietā, pievienot, saistīt ar atsevišķiem rediģēšanas buferiem un grupēt Multigrid režīmā.
- Caurspīdīgām nolaižamajām izvēlnēm ir pievienota opcija “pumblend”.
Avots: opennet.ru