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

Ua hoʻokuʻu ʻia ʻo Neovim 0.7.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.

Hāʻawi ka mana hou i ke kākoʻo mua no ka hana mamao, e ʻae iā ʻoe e holo iā Neovim ma ke kikowaena a hoʻopili iā ia mai ka ʻōnaehana mea kūʻai aku me ka hoʻohana ʻana i kahi ui_client ʻokoʻa. ʻO nā hoʻololi ʻē aʻe: ua hoʻopau ʻia ke kākoʻo no Python 2, ua ʻae ʻia ka hoʻohana ʻana i nā hana Lua ma ka palapala kī, ua hoʻohui ʻia nā kauoha hou i ka API, ua hoʻonui nui ʻia ka hiki ke hoʻohana i ka ʻōlelo Lua no ka hoʻomohala ʻana i nā plugins a me ka hoʻokele hoʻonohonoho. ua hoʻomaikaʻi ʻia nā mea hana no ka ʻike ʻana i nā pilikia ma ke code, ua hoʻohui ʻia ke kākoʻo no ka pae kūlana honua, ua hoʻokō ʻia nā hana hoʻokō. 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.

Source: opennet.ru

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