Neovim 0.4, Vim редакторының жаңартылған нұсқасы қол жетімді

жарияланды босату Neovim 0.4, Vim редакторының шанышқысы, бағытталған созылғыштық пен икемділікті арттыру. Жобаның түпнұсқа әзірлемелері кеңейтіңіз Apache 2.0 лицензиясы бойынша және негізгі бөлігі Vim лицензиясы бойынша.

Neovim жобасы аясында Vim код базасы бес жылдан астам уақыт бойы қайта өңделуде, нәтижесінде кодқа қызмет көрсетуді жеңілдететін, бірнеше қызмет көрсетушілер арасында еңбекті бөлу құралын қамтамасыз ететін, интерфейсті интерфейстен бөлетін өзгерістер енгізілді. негізгі бөлігін (интерфейсті ішкі бөліктерге тигізбестен өзгертуге болады) және жаңасын іске қосыңыз кеңейтілетін архитектура плагиндерге негізделген.

Neovim-ті құруға түрткі болған Vim проблемаларының бірі оның 300 мыңнан астам C (C89) код жолынан тұратын кеңейтілген, монолитті кодтық базасы болды. Vim кодтық базасының барлық нюанстарын санаулы адамдар ғана түсінеді және барлық өзгерістерді бір қолдаушы басқарады, бұл редакторды қолдау мен жақсартуды қиындатады. GUI-ге қолдау көрсету үшін Vim өзегіне енгізілген кодтың орнына Neovim әртүрлі құралдар жинағы арқылы интерфейстер жасауға мүмкіндік беретін әмбебап қабатты пайдалануды ұсынады.

Neovim плагиндері MessagePack пішімі қолданылатын өзара әрекеттесу үшін бөлек процестер ретінде іске қосылады. Плагиндермен өзара әрекеттесу редактордың негізгі компоненттерін блоктаусыз асинхронды түрде жүзеге асырылады. Плагинге қол жеткізу үшін TCP ұяшығын пайдалануға болады, яғни. плагинді сыртқы жүйеде іске қосуға болады. Сонымен қатар, Neovim Vim-пен кері үйлесімді болып қалады, Vimscript-ті (Lua балама ретінде ұсынылады) қолдауды жалғастырады және көптеген стандартты Vim плагиндері үшін қосылымдарды қолдайды. Neovim қосымша мүмкіндіктерін Neovim арнайы API интерфейстері арқылы құрастырылған плагиндерде пайдалануға болады.

Қазірдің өзінде дайындалған Әр түрлі бағдарламалау тілдерін (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) және фреймворктарды (Qt80, ncurses, Node.js, Электрон, GTK+). Пайдаланушы интерфейсінің бірнеше опциялары әзірленуде. GUI қондырмалары плагиндерге ұқсайды, бірақ плагиндерден айырмашылығы олар Neovim функцияларына қоңырау шалуды бастайды, ал плагиндер Neovim ішінен шақырылады.

Кейбір өзгерістер жаңа нұсқасы:

  • Жаңа API функциялары мен пайдаланушы интерфейсі оқиғаларының үлкен бөлігі қосылды.
  • Lua тілінде плагиндерді әзірлеуге арналған Nvim-Lua жаңа стандартты кітапханасы қосылды.
  • Пайдаланушы интерфейсінің хаттамасының дамуы жалғасуда, экрандағы ақпаратты жеке таңбалар емес, жолдар деңгейінде жаңартады.
  • Кез келген жерде орналастыруға, қосуға, жеке өңдеу буферлеріне байланыстыруға және Multigrid режимінде топтастыруға болатын толыққанды қалқымалы терезелерге қолдау қосылды.
  • Мөлдір ашылмалы мәзірлер үшін қосылды.

Ақпарат көзі: opennet.ru

пікір қалдыру