Hoʻokuʻu ʻia ʻo Neovim 0.6.0, kahi mana hou o ka mea hoʻoponopono Vim

Ua hoʻokuʻu ʻia ʻo Neovim 0.6.0, kahi ʻāpana o ka mea hoʻoponopono Vim i kālele ʻia i ka hoʻonui ʻana a me ka maʻalahi. Ke hana hou nei ka papahana i ka Vim code base no nā makahiki ʻoi aku ma mua o ʻehiku, ma muli o ka hoʻololi ʻana 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 kekahi mau mea mālama, e hoʻokaʻawale i ka ʻaoʻao mai ka ʻāpana kumu (hiki ke hoʻohana ʻia ka interface. hoʻololi ʻole me ka hoʻopā ʻole ʻana i nā internals) a hoʻokō i kahi hoʻolālā extensible hou e pili ana i nā plugins. Hoʻokaʻawale ʻia nā hoʻomohala mua o ka papahana ma lalo o ka laikini Apache 2.0, a ua māhele ʻia ka ʻāpana kumu ma lalo o ka laikini Vim. Hoʻomākaukau ʻia nā hui i mākaukau no Linux (appimage), Windows a me macOS.

ʻ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, ma kahi o 130 mau plugins kikoʻī ua hoʻomākaukau ʻia, 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 (Qt, 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 ka mana hou:

  • Ua hoʻohui ʻia ke kākoʻo no nā ʻano hoʻololi kūloko i nā palapala vim, ka palena o ia mea i kaupalena ʻia e ka palapala o kēia manawa.
  • Ua hoʻomaikaʻi nui ʻia ke kākoʻo ʻōlelo Lua no ka hoʻomohala ʻana i ka plugin a me ka hoʻokele hoʻonohonoho. I loko o nā palapala vim, ua hoʻohui ʻia ka hiki ke kāhea i nā hana ʻo Lua ma ke ʻano he ʻano hana ma ka wehewehe ʻana i ka prefix v:lua (e laʻana, "arg1->v:lua.somemod.func(arg2)").
  • Ua hoʻonui ʻia nā mana o ka mea kūʻai aku LSP i kūkulu ʻia (Language Server Protocol), hiki ke hoʻohana ʻia e hoʻololi i ka loiloi loiloi a me ka hoʻopau code i nā kikowaena waho. ʻO ka hoʻohana ʻana iā LSP hiki iā ʻoe ke hoʻohana ma mua o 150 mau mea lawelawe i mākaukau no nā ʻōlelo papahana like ʻole i mākaukau no ka hoʻoponopono Visual Studio Code.
  • Nā mea hana i hoʻomaikaʻi ʻia no ka ʻike ʻana i nā pilikia ma ke code. Hoʻohui i ka hiki ke hōʻike i ke kikokikona o nā memo diagnostic a me nā puka makani lana me ke code e pili ana me ia mau memo. Hāʻawi ʻia ka hana ʻana i nā memo diagnostic i hoʻouna ʻia e ka server LSP.
  • Hoʻohui i kākoʻo no nā kaula virtual, hiki ke hoʻohana ʻia, no ka laʻana, e hōʻike i nā poloka me ka ʻike lawelawe.
  • Ua hana ʻia nā ʻano loiloi hana like ʻole, no ka laʻana, hoʻohana ʻia kahi papa hash no nā inoa pūʻulu i hōʻike ʻia.
  • Ua hoʻopau ʻia ke kākoʻo no Windows 7 a me 32-bit kūkulu ʻia o Windows.

Source: opennet.ru

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