Neovim 0.5، Vim ايڊيٽر جو جديد نسخو، دستياب آهي

После почти двух лет разработки опубликован релиз Neovim 0.5, ответвления от редактора Vim, сфокусированного на повышении расширяемости и гибкости. В рамках проекта уже более семи лет проводится переработка кодовой базы Vim, в результате которой вносятся изменения, упрощающие сопровождение кода, предоставляющие средства разделения труда между несколькими мэйнтейнерами, отделяющие интерфейс от базовой части (интерфейс можно менять не трогая внутренности) и реализующие новую расширяемую архитектуру на основе плагинов. Оригинальные наработки проекта распространяются под лицензией Apache 2.0, а базовая часть под лицензией Vim.

ويم سان گڏ هڪ مسئلو جنهن نيوويم جي تخليق کي اڳتي وڌايو، اهو هو ان جو ڦهليل، مونوليٿڪ ڪوڊ بيس، جنهن ۾ 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 گهڻو ڪري پلگ ان وانگر هوندا آهن، پر پلگ ان جي برعڪس، اهي نيوويم ڪمن کي ڪال شروع ڪندا آهن، جڏهن ته پلگ ان کي نيوويم جي اندر کان سڏبو آهي.

نئين ورزن ۾ ڪجھ تبديليون:

  • Добавлен встроенный LSP-клиент (Language Server Protocol) на языке Lua, который можно использовать для подключения к внешним сервисам для анализа и автодополнения кода.
  • Добавлен API для управления оформлением буферов выделения.
  • Добавлен API для использования расширенных меток, позволяющих отслеживать изменения на уровне отдельных байтов.
  • Расширена поддержка Lua, как языка для разработки плагинов и управления конфигурацией.
  • Добавлена экспериментальная поддержка движка разбора синтаксиса tree-sitter.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو