Neovim 0.4, o se lomiga faʻaonaponei o le Vim editor, o loʻo avanoa

lomia faasalalau tatala Neovim 0.4, o se tui mai le faatonu Vim, taula'i i luga o le faʻalauteleina o le faʻalauteleina ma le fetuutuunai. Uluai atina'e o le poloketi salalau i lalo ole laisene Apache 2.0, ma le vaega fa'avae i lalo ole laisene Vim.

I totonu o le faʻavae o le poloketi Neovim, o le Vim code base ua toe faʻaaogaina mo le sili atu ma le lima tausaga, o se taunuuga o suiga ua faia e faafaigofie ai le tausiga o tulafono, maua ai se auala e vaeluaina ai galuega i le va o le tele o tagata tausia, vavae ese le atinaʻe mai le vaega faavae (e mafai ona suia le atinaʻe e aunoa ma le paʻi i totonu) ma faʻatino se mea fou fausaga fa'alautele faʻavae i luga o plugins.

O se tasi o faʻafitauli ma Vim na mafua ai le fausiaina o Neovim o lona faʻamaʻi, monolithic code base, e aofia ai le sili atu ma le 300 afe laina o le C (C89) code. E naʻo ni nai tagata e malamalama i faʻamatalaga uma o le Vim codebase, ma o suiga uma e pulea e le tasi e tausia, lea e faigata ai ona tausia ma faʻaleleia le faatonu. Nai lo le faʻailoga ua fausia i totonu o le Vim core e lagolago ai le GUI, Neovim e faʻatatau i le faʻaaogaina o se laulau lautele e mafai ai ona e fatuina fesoʻotaʻiga e faʻaaoga ai meafaigaluega eseese.

O mea fa'apipi'i mo Neovim ua fa'alauiloaina o ni faiga eseese, mo le fegalegaleai lea e fa'aoga ai le MessagePack format. Fegalegaleaiga ma plugins e faia asynchronously, e aunoa ma le poloka o vaega autu o le faatonu. Ina ia maua le faʻapipiʻi, e mafai ona faʻaogaina se socket TCP, i.e. e mafai ona tamoe le plugin i luga o se faiga fafo. I le taimi lava e tasi, o loʻo tumau pea Neovim i tua e fetaui ma Vim, faʻaauau ona lagolagoina Vimscript (Lua e ofoina atu e fai ma sui) ma lagolagoina fesoʻotaʻiga mo le tele o faʻapipiʻi Vim masani. E mafai ona fa'aogaina foliga fa'apitoa a Neovim i fa'apipi'i fausia e fa'aaoga ai API fa'apitoa Neovim.

I le taimi nei ua leva saunia e tusa ma le 80 faʻapipiʻi faʻapitoa, faʻapipiʻi avanoa mo le fatuina o plugini ma le faʻaogaina o fesoʻotaʻiga e faʻaaoga ai gagana eseese polokalame (C ++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) ma faʻavae (Qt5, ncurses, Node.js, Electron, GTK+). O lo'o fa'atupuina le tele o avanoa fa'aoga. GUI faʻaopoopoga e pei o plugins, ae le pei o plugins, latou te amataina valaʻau i galuega Neovim, aʻo faʻapipiʻi e valaʻau mai totonu o Neovim.

O nisi o suiga i fou:

  • Faʻaopoopoina se vaega tele o galuega API fou ma faʻaoga faʻaoga faʻaoga.
  • Fa'aopoopoina se faletusi masani fou Nvim-Lua mo le fa'atupuina o mea fa'apipi'i i le gagana Lua.
  • O loʻo faʻaauau pea le atinaʻeina o le faʻaogaina o fesoʻotaʻiga faʻaoga, faʻafouina faʻamatalaga i luga o le lau i le maualuga o laina, nai lo tagata taʻitoʻatasi.
  • Faʻaopoopo le lagolago mo faʻamalama faʻafefete atoatoa, lea e mafai ona tuʻuina i soʻo se nofoaga, faʻapipiʻi, faʻafesoʻotaʻi i faʻataʻitaʻiga taʻitasi, ma faʻapipiʻi i le Multigrid mode.
  • Fa'aopoopo le filifiliga 'pumblend' mo fa'ai'uga fa'ai'u i lalo.

puna: opennet.ru

Faaopoopo i ai se faamatalaga