Ir pieejama Vim redaktora modernizēta versija Neovim 0.4

publicēts atbrīvot Neovim 0.4, dakša no Vim redaktora, fokusēts par paplašināmības un elastības palielināšanu. Projekta oriģinālās izstrādes izplatīties saskaņā ar Apache 2.0 licenci un bāzes daļu saskaņā ar Vim licenci.

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 paplašināma arhitektūra pamatojoties uz spraudņiem.

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 sagatavots Spraudņu izveidei un interfeisu ieviešanai, izmantojot dažādas programmēšanas valodas (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) un ietvarus (Qt80, ncurses, Node.js, ir pieejami aptuveni 5 specifiski spraudņi, saistījumi, Elektrons, GTK+). Tiek izstrādātas vairākas lietotāja saskarnes iespējas. GUI pievienojumprogrammas līdzinās spraudņiem, taču atšķirībā no spraudņiem tie ierosina izsaukumus uz Neovim funkcijām, savukārt spraudņi tiek izsaukti no Neovim.

Dažas izmaiņas jauna versija:

  • 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

Pievieno komentāru