Опубликован релиз Neovim 0.6.0, ответвления от редактора Vim, сфокусированного на повышении расширяемости и гибкости. В рамках проекта уже более семи лет проводится переработка кодовой базы Vim, в результате которой вносятся изменения, упрощающие сопровождение кода, предоставляющие средства разделения труда между несколькими мэйнтейнерами, отделяющие интерфейс от базовой части (интерфейс можно менять не трогая внутренности) и реализующие новую расширяемую архитектуру на основе плагинов. Оригинальные наработки проекта распространяются под лицензией Apache 2.0, а базовая часть под лицензией Vim. Готовые сборки подготовлены для Linux (تصوير)، Windows и macOS.
ويم سان گڏ هڪ مسئلو جنهن نيوويم جي تخليق کي اڳتي وڌايو، اهو هو ان جو ڦهليل، مونوليٿڪ ڪوڊ بيس، جنهن ۾ 300 هزار کان وڌيڪ لائينون C (C89) ڪوڊ شامل آهن. صرف ٿورا ماڻھو سمجھن ٿا ويم ڪوڊ بيس جي سڀني نونسن کي، ۽ سڀ تبديليون ھڪڙي سنڀاليندڙ جي ڪنٽرول ۾ آھن، جنھن ڪري ايڊيٽر کي برقرار رکڻ ۽ بھتر ڪرڻ ڏکيو ٿي پوي ٿو. GUI کي سپورٽ ڪرڻ لاءِ ويم ڪور ۾ ٺهيل ڪوڊ جي بدران، نيوويم هڪ آفاقي پرت استعمال ڪرڻ جي تجويز ڏئي ٿو جيڪا توهان کي مختلف ٽول ڪِٽس استعمال ڪندي انٽرفيس ٺاهڻ جي اجازت ڏئي ٿي.
Neovim لاءِ پلگ انز الڳ عمل طور شروع ڪيا ويا آھن، رابطي لاءِ جنھن سان MessagePack فارميٽ استعمال ڪيو ويندو آھي. ايڊيٽر جي بنيادي حصن کي بلاڪ ڪرڻ کان سواءِ، پلگ ان سان رابطو غير هم وقتي طور تي ڪيو ويندو آهي. پلگ ان تائين رسائي حاصل ڪرڻ لاء، هڪ TCP ساکٽ استعمال ڪري سگھجي ٿو، يعني. پلگ ان کي خارجي نظام تي هلائي سگھجي ٿو. ساڳئي وقت، Neovim Vim سان مطابقت پٺتي رهي ٿو، Vimscript جي حمايت جاري رکي ٿو (لوا هڪ متبادل طور تي پيش ڪيو ويو آهي) ۽ اڪثر معياري ويم پلگ ان لاء ڪنيڪشن کي سپورٽ ڪري ٿو. Neovim جون جديد خاصيتون استعمال ڪري سگھجن ٿيون پلگ ان ۾ جيڪي نيوويم مخصوص APIs استعمال ڪندي ٺاهيل آھن.
في الحال، اٽڪل 130 مخصوص پلگ ان اڳ ۾ ئي تيار ڪيا ويا آهن، مختلف پروگرامنگ ٻولين (C++، Clojure، Perl، Python، Go، Java، Lisp، Lua، Ruby) ۽ فريم ورڪ (Qt، ncurses, Node .js, Electron, GTK). ڪيترائي يوزر انٽرفيس جا آپشن تيار ڪيا پيا وڃن. GUI add-ons گهڻو ڪري پلگ ان وانگر هوندا آهن، پر پلگ ان جي برعڪس، اهي نيوويم ڪمن کي ڪال شروع ڪندا آهن، جڏهن ته پلگ ان کي نيوويم جي اندر کان سڏبو آهي.
نئين ورزن ۾ ڪجھ تبديليون:
- وِم اسڪرپٽ هاڻي مقامي متغيرن کي سپورٽ ڪن ٿا، جن جو دائرو صرف موجوده اسڪرپٽ تائين محدود آهي.
- پلگ ان ڊولپمينٽ ۽ ڪنفيگريشن مئنيجمينٽ لاءِ لوا ٻولي جي سپورٽ کي خاص طور تي بهتر بڻايو ويو آهي. وِم اسڪرپٽ هاڻي لوا فنڪشنز کي طريقن جي طور تي سڏڻ جي سپورٽ ڪن ٿا v:lua پريفڪس کي بيان ڪندي (مثال طور، "arg1->v:lua.somemod.func(arg2)").
- بلٽ ان LSP (لينگويج سرور پروٽوڪول) ڪلائنٽ جي صلاحيتن کي وڌايو ويو آهي، جيڪو تجزيو ۽ ڪوڊ مڪمل ڪرڻ جي منطق کي ٻاهرين ڏانهن منتقل ڪرڻ لاءِ استعمال ڪري سگهجي ٿو. سرورزLSP استعمال ڪرڻ سان توهان کي مختلف پروگرامنگ ٻولين لاءِ 150 کان وڌيڪ تيار ٿيل هينڊلر استعمال ڪرڻ جي اجازت ملي ٿي، جيڪي ويزوئل اسٽوڊيو ڪوڊ ڪوڊ ايڊيٽر لاءِ تيار ڪيا ويا آهن.
- ڪوڊ جي مسئلن جي تشخيص لاءِ بهتر اوزار. اهڙن پيغامن سان لاڳاپيل ڪوڊ سان تشخيصي پيغام جي متن ۽ فلوٽنگ ونڊوز کي ڏيکارڻ جي صلاحيت شامل ڪئي وئي. LSP سرور پاران منتقل ڪيل تشخيصي پيغامن جي پروسيسنگ هاڻي سپورٽ ڪئي وئي آهي.
- ورچوئل اسٽرنگ لاءِ سپورٽ شامل ڪئي وئي، جيڪا استعمال ڪري سگهجي ٿي، مثال طور، سروس جي معلومات سان بلاڪ کي آئوٽ پُٽ ڪرڻ لاءِ.
- مختلف ڪارڪردگي جي اصلاح ڪئي وئي آهي، جيئن گروپ جي نالن کي نمايان ڪرڻ لاءِ هيش ٽيبل استعمال ڪرڻ.
- سپورٽ بند ڪئي وئي آهي Windows 7 и 32-разрядных сборок для Windows.
جو ذريعو: opennet.ru
