Loaʻa iā Neovim 0.4, kahi mana hou o ka hoʻoponopono Vim

paʻi ʻia hoʻokuʻu Neovim 0.4, he mākia mai ka mea hoʻoponopono Vim, kālele ana ma ka hoʻonui ʻana i ka extensibility a me ka maʻalahi. Nā hana mua o ka papahana pālahalaha aku ma lalo o ka laikini Apache 2.0, a me ka ʻāpana kumu ma lalo o ka laikini Vim.

I loko o ka hoʻolālā o ka papahana Neovim, ua hana hou ʻia ka Vim code base no nā makahiki ʻoi aku ma mua o ʻelima mau makahiki, ma muli o ia mea i hoʻololi ʻia e hoʻomaʻamaʻa i ka mālama code, e hāʻawi i kahi ala e hoʻokaʻawale ai i ka hana ma waena o nā mea mālama, hoʻokaʻawale i ka interface mai ka ʻāpana kumu (hiki ke hoʻololi i ka interface me ka ʻole o ka hoʻopā ʻana i nā internals) a hoʻokō i kahi mea hou hale kūkulu hoʻonui ma muli o nā plugins.

ʻO kekahi o nā pilikia me Vim i hoʻomaka ai i ka hana ʻana o Neovim ʻo ia kona ʻūhā, monolithic code base, aia ma mua o 300 tausani mau laina o ka code C (C89). He kakaikahi wale nō ka poʻe i hoʻomaopopo i nā nuances a pau o ka Vim codebase, a ua hoʻomalu ʻia nā hoʻololi a pau e ka mea mālama hoʻokahi, he mea paʻakikī ke mālama a hoʻomaikaʻi i ka mea hoʻoponopono. Ma kahi o ke code i kūkulu ʻia i loko o ka Vim core e kākoʻo i ka GUI, manaʻo ʻo Neovim e hoʻohana i kahi papa honua e hiki ai iā ʻoe ke hana i nā pilina me ka hoʻohana ʻana i nā mea hana like ʻole.

Hoʻokuʻu ʻia nā plugins no Neovim ma ke ʻano he kaʻina kaʻawale, no ka launa pū ʻana me ka hoʻohana ʻana i ka format MessagePack. Hoʻopili ʻia ka pilina me nā plugins me ka asynchronously, me ka pale ʻole i nā ʻāpana kumu o ka mea hoʻoponopono. No ke komo ʻana i ka plugin, hiki ke hoʻohana ʻia kahi kumu TCP, i.e. hiki ke holo ka plugin ma kahi ʻōnaehana waho. Ma ka manawa like, hoʻomau ʻo Neovim i hope me Vim, hoʻomau i ke kākoʻo iā Vimscript (Ua hāʻawi ʻia ʻo Lua ma ke ʻano he ʻokoʻa) a kākoʻo i nā pilina no ka hapa nui o nā plugins Vim maʻamau. Hiki ke hoʻohana ʻia nā hiʻohiʻona holomua o Neovim i nā plugins i kūkulu ʻia me ka hoʻohana ʻana i nā API kikoʻī Neovim.

I kēia manawa hoomakaukauia ma kahi o 80 mau plugins kikoʻī, loaʻa nā paʻa no ka hana ʻana i nā plugins a me ka hoʻokō ʻana i nā interface me ka hoʻohana ʻana i nā ʻōlelo hoʻonohonoho like ʻole (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) a me nā frameworks (Qt5, ncurses, Node.js, Electron, GTK+). Ke kūkulu ʻia nei kekahi mau koho hoʻohana. ʻO nā mea hoʻohui GUI e like me nā plugins, akā ʻaʻole like me nā plugins, hoʻomaka lākou i nā kelepona i nā hana Neovim, ʻoiai ua kāhea ʻia nā plugins mai loko mai o Neovim.

ʻO kekahi o nā hoʻololi i mana hou:

  • Hoʻohui i kahi hapa nui o nā hana API hou a me nā hanana hoʻohana.
  • Hoʻohui ʻia kahi waihona maʻamau hou ʻo Nvim-Lua no ka hoʻomohala ʻana i nā plugins ma ka ʻōlelo Lua.
  • Ke hoʻomau nei ka hoʻomohala ʻana o ka protocol interface mea hoʻohana, e hoʻonui ana i ka ʻike ma ka pale ma ke kiʻekiʻe o nā laina, ma mua o nā huaʻōlelo pākahi.
  • Kākoʻo hoʻohui ʻia no nā puka makani lana piha, hiki ke waiho ʻia i kēlā me kēia wahi, hoʻopili ʻia, hoʻopili ʻia i nā mea hoʻoponopono hoʻoponopono pākahi, a hui pū ʻia ma ke ʻano Multigrid.
  • Hoʻohui ʻia ke koho 'pumblend' no nā menus dropdown translucent.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka