Gefa út Neovim 0.6.0, nútímavædd útgáfa af Vim ritlinum

Neovim 0.6.0 hefur verið gefið út, gaffli Vim ritstjórans einbeitti sér að því að auka teygjanleika og sveigjanleika. Verkefnið hefur verið að endurvinna Vim kóða grunninn í meira en sjö ár, í kjölfarið eru gerðar breytingar sem einfalda kóðaviðhald, veita leið til að skipta vinnu milli nokkurra viðhaldsaðila, aðskilja viðmótið frá grunnhlutanum (viðmótið getur verið breytt án þess að snerta innri hluti) og innleiða nýjan teygjanlegan arkitektúr sem byggir á viðbótum. Upprunalegri þróun verkefnisins er dreift undir Apache 2.0 leyfinu og grunnhlutanum er dreift undir Vim leyfinu. Tilbúnar samsetningar eru útbúnar fyrir Linux (appimage), Windows og macOS.

Eitt af vandamálunum við Vim sem olli stofnun Neovim var uppblásinn, einlitur kóðagrunnur hans, sem samanstendur af meira en 300 þúsund línum af C (C89) kóða. Aðeins fáir skilja öll blæbrigði Vim kóðagrunnsins og öllum breytingum er stjórnað af einum umsjónarmanni, sem gerir það erfitt að viðhalda og bæta ritstjórann. Í stað kóðans sem er innbyggður í Vim kjarna til að styðja við GUI, leggur Neovim til að nota alhliða lag sem gerir þér kleift að búa til viðmót með ýmsum verkfærasettum.

Viðbætur fyrir Neovim eru settar af stað sem aðskilin ferli, fyrir samskipti sem MessagePack sniðið er notað við. Samskipti við viðbætur fara fram ósamstillt, án þess að hindra grunnþætti ritilsins. Til að fá aðgang að viðbótinni er hægt að nota TCP fals, þ.e. hægt er að keyra viðbótina á ytra kerfi. Á sama tíma er Neovim afturábak samhæft við Vim, heldur áfram að styðja Vimscript (Lua er í boði sem valkostur) og styður tengingar fyrir flestar staðlaðar Vim viðbætur. Hægt er að nota háþróaða eiginleika Neovim í viðbætur sem eru byggðar með Neovim-sértækum API.

Eins og er hafa um 130 sértækar viðbætur þegar verið útbúnar, bindingar eru fáanlegar til að búa til viðbætur og útfæra viðmót með því að nota ýmis forritunarmál (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) og ramma (Qt, ncurses, Node .js, Electron, GTK). Nokkrir notendaviðmótsvalkostir eru í þróun. GUI viðbætur eru mjög eins og viðbætur, en ólíkt viðbætur, hefja þær símtöl í Neovim aðgerðir, en viðbætur eru kallaðar innan frá Neovim.

Sumar breytingarnar í nýju útgáfunni:

  • Stuðningur fyrir staðbundnar breytur hefur verið bætt við vim forskriftir, umfang þeirra takmarkast aðeins af núverandi forskrift.
  • Verulega endurbættur Lua tungumálastuðningur fyrir viðbótaþróun og stillingarstjórnun. Í vim skriftum hefur hæfileikinn til að kalla Lua aðgerðir sem aðferðir verið bætt við með því að tilgreina v:lua forskeytið (til dæmis „arg1->v:lua.somemod.func(arg2)“).
  • Getu innbyggða LSP biðlarans (Language Server Protocol) hefur verið aukin, sem hægt er að nota til að flytja greiningarrökfræði og kóða frágang á ytri netþjóna. Notkun LSP gerir þér kleift að nota meira en 150 tilbúna meðhöndlara fyrir ýmis forritunarmál sem eru tilbúin fyrir Visual Studio Code ritstjórann.
  • Bætt verkfæri til að greina vandamál í kóða. Bætti við möguleikanum á að birta texta greiningarskilaboða og fljótandi glugga með kóða sem tengist slíkum skilaboðum. Vinnsla greiningarskilaboða sem send eru af LSP þjóninum er veitt.
  • Bætt við stuðningi við sýndarstrengi, sem hægt er að nota til dæmis til að birta kubba með þjónustuupplýsingum.
  • Ýmsar hagræðingar hafa verið gerðar, til dæmis er kjötkássatafla virkjuð fyrir auðkennd hópnöfn.
  • Stuðningur við Windows 7 og 32-bita smíði Windows hefur verið hætt.

Heimild: opennet.ru

Bæta við athugasemd