Neovim 0.7.0 ayaa la sii daayay, fargeeto ah tifaftiraha Vim oo diiradda saaraya kordhinta dabacsanaanta iyo dabacsanaanta. Mashruucu wuxuu dib u shaqeynayay saldhigga Vim code in ka badan toddobo sano, taas oo ka dhalatay isbeddellada la sameeyay kuwaas oo fududeynaya dayactirka koodhka, bixinta habka loo qaybiyo shaqada ee u dhexeeya dhowr ilaaliye, kala sooca interface ka qaybta aasaasiga ah (interface-ka ayaa noqon kara). bedelay adiga oo aan taaban gudaha) oo hirgeli qaab dhismeed cusub oo la fidin karo oo ku saleysan plugins. Horumarka asalka ah ee mashruuca waxaa lagu qaybiyaa shatiga Apache 2.0, iyo qaybta aasaasiga ah waxaa lagu qaybiyaa shatiga Vim. Kulamo diyaarsan ayaa loo diyaariyey Linux (appimage), Windows iyo macOS.
Mid ka mid ah dhibaatooyinka Vim ee keenay abuurista Neovim waxay ahayd bararsan, saldhigga koodhka monolithic, oo ka kooban in ka badan 300 kun oo xariiq oo C (C89) ah. Kaliya dad yar ayaa fahma dhammaan nuucyada Vim codebase, iyo dhammaan isbeddelada waxaa maamula hal ilaaliye, taas oo adkeynaysa in la ilaaliyo oo la hagaajiyo tifaftiraha. Halkii koodka lagu dhex dhisay Vim core si uu u taageero GUI, Neovim wuxuu soo jeedinayaa isticmaalka lakabka caalamiga ah kaas oo kuu ogolaanaya inaad abuurto is-dhexgal adigoo isticmaalaya qalab kala duwan.
Plugins for Neovim waxaa loo bilaabay sidii habab kala duwan, oo loogu talagalay isdhexgalka kaas oo qaabka MessagePack loo isticmaalo. Isdhexgalka plugins waxaa loo fuliyaa si isku mid ah, iyada oo aan la xannibin qaybaha aasaasiga ah ee tifaftiraha. Si aad u gasho plugin, godad TCP ayaa la isticmaali karaa, i.e. Plugin waxaa lagu maamuli karaa nidaamka dibadda. Isla mar ahaantaana, Neovim wuxuu sii ahaanayaa dib u dhac ku yimaada Vim, wuxuu sii wadaa inuu taageero Vimscript (Lua waxaa loo bixiyaa beddelka) wuxuuna taageeraa isku xirka fiilooyinka caadiga ah ee Vim. Tilmaamaha horumarsan ee Neovim waxa loo isticmaali karaa plugins la dhisay iyadoo la isticmaalayo APIs-gaar ah Neovim.
Waqtigan xaadirka ah, qiyaastii 130 plugins gaar ah ayaa horay loo diyaariyey, xirmooyinka ayaa diyaar u ah abuurista plugins iyo hirgelinta isdhexgalka iyadoo la adeegsanayo luqadaha barnaamijyada kala duwan (C ++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) iyo qaab-dhismeedka (Qt, ncurses, Node .js, Electron, GTK). Dhawr ikhtiyaari is-dhexgal isticmaale ayaa la soo saarayaa. GUI add-ons waxay la mid yihiin plugins, laakiin waxay ka duwan yihiin plugins, waxay bilaabaan wicitaanada hawlaha Neovim, halka plugins laga soo wacayo gudaha Neovim.
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Neovim Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ Π½Π΅ΠΌΡ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ui_client. Π‘ΡΠ΅Π΄ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Python 2, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Lua-ΡΡΠ½ΠΊΡΠΈΠΉ Π² keymap, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² API, Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ° Lua Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ, ΡΠ»ΡΡΡΠ΅Π½Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² ΠΊΠΎΠ΄Π΅, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π Π°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ LSP-ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (Language Server Protocol), ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠ½ΠΎΡΠ° Π»ΠΎΠ³ΠΈΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ.
Source: opennet.ru