Neovim 0.5, mofuta oa sejoale-joale oa mohlophisi oa Vim, oa fumaneha

Kamora lilemo tse ka bang peli tsa nts'etsopele, Neovim 0.5 e lokollotsoe, fereko ea mohlophisi oa Vim e tsepamisitseng maikutlo ho hoketseng katoloso le ho fetoha ha maemo. Morero o 'nile oa tsosolosa motheo oa khoutu ea Vim ka lilemo tse fetang tse supileng, ka lebaka leo liphetoho li etsoang tse nolofatsang tlhokomelo ea khoutu, ho fana ka mokhoa oa ho arola basebetsi pakeng tsa bahlokomeli ba' maloa, ho arola sebopeho ho tloha karolong ea motheo (sebopeho se ka ba e fetotsoe ntle le ho ama ba ka hare) le ho kenya tšebetsong meralo e ncha e atolositsoeng ho latela li-plugins. Lintlafatso tsa mantlha tsa morero li ajoa tlasa laesense ea Apache 2.0, mme karolo ea mantlha e ajoa tlasa laesense ea Vim.

E 'ngoe ea mathata a Vim a entseng hore ho thehoe Neovim e ne e le motheo oa khoutu ea eona e senyehileng, e nang le mela e fetang likete tse 300 tsa khoutu ea C (C89). Ke batho ba 'maloa feela ba utloisisang lintlha tsohle tsa Vim codebase,' me liphetoho tsohle li laoloa ke mohlokomeli a le mong, e leng se etsang hore ho be thata ho boloka le ho ntlafatsa mohlophisi. Sebakeng sa khoutu e hahelletsoeng ka har'a Vim core ho ts'ehetsa GUI, Neovim e etsa tlhahiso ea ho sebelisa sekhahla sa bokahohle se u lumellang hore u thehe li-interfaces u sebelisa lisebelisoa tse fapaneng tsa lisebelisoa.

Li-plugins tsa Neovim li qalisoa e le lits'ebetso tse arohaneng, bakeng sa tšebelisano eo sebopeho sa MessagePack se sebelisoang. Ho sebelisana le li-plugins ho etsoa asynchronously, ntle le ho thibela likarolo tsa motheo tsa mohlophisi. Ho fihlella plugin, sesebelisoa sa TCP se ka sebelisoa, ke hore. plugin e ka tsamaisoa ho sistimi e kantle. Ka nako e ts'oanang, Neovim e lula e khutlela morao e lumellana le Vim, e tsoela pele ho tšehetsa Vimscript (Lua e fanoa e le mokhoa o mong) 'me e tšehetsa likhokahano bakeng sa li-plugins tse ngata tse tloaelehileng tsa Vim. Likarolo tse tsoetseng pele tsa Neovim li ka sebelisoa ho li-plugins tse hahiloeng ho sebelisoa Neovim-specific APIs.

Hajoale, li-plugins tse ka bang 130 li se li lokisitsoe, litlamo li fumaneha bakeng sa ho theha li-plugins le ho kenya tšebetsong li-interfaces ka lipuo tse fapaneng tsa lenaneo (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) le meralo (Qt, ncurses, Node .js, Electron, GTK). Ho ntse ho ntlafatsoa likhetho tse 'maloa tsa sebopeho sa mosebelisi. Li-add-on tsa GUI li tšoana le li-plugins, empa ho fapana le li-plugins, li qala mehala ho mesebetsi ea Neovim, ha li-plugins li bitsoa ho tsoa ka hare ho Neovim.

Tse ling tsa liphetoho phetolelong e ncha:

  • E kentse moreki oa LSP ea hahelletsoeng ka har'a Lua (Language Server Protocol) e ka sebelisoang ho hokela lits'ebeletso tsa kantle bakeng sa tlhahlobo le ho phethela khoutu.
  • E kentse API ho laola moralo oa li-buffers tsa kabo.
  • E kentse API ho sebelisa li-tag tse atolositsoeng ho latela liphetoho boemong ba byte.
  • Tšehetso e atolositsoeng bakeng sa Lua e le puo bakeng sa nts'etsopele ea plugin le tsamaiso ea tlhophiso.
  • E ekelitse ts'ehetso ea liteko bakeng sa enjine ea ho arola sefate sa sitter.

Source: opennet.ru

Eketsa ka tlhaloso