ਨਿਓਵਿਮ 0.4 ਉਪਲਬਧ ਹੈ, ਵਿਮ ਸੰਪਾਦਕ ਦਾ ਇੱਕ ਆਧੁਨਿਕ ਸੰਸਕਰਣ

ਪ੍ਰਕਾਸ਼ਿਤ ਜਾਰੀ ਨਿਓਵਿਮ 0.4, ответвления от редактора Vim, сфокусированного на повышении расширяемости и гибкости. Оригинальные наработки проекта ਫੈਲਣਾ под лицензией Apache 2.0, а базовая часть под лицензией Vim.

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

ਵਿਮ ਨਾਲ ਇੱਕ ਸਮੱਸਿਆ ਜਿਸ ਨੇ ਨਿਓਵਿਮ ਦੀ ਸਿਰਜਣਾ ਲਈ ਪ੍ਰੇਰਿਆ, ਇਸਦਾ ਫੁੱਲਿਆ ਹੋਇਆ, ਮੋਨੋਲਿਥਿਕ ਕੋਡ ਬੇਸ ਸੀ, ਜਿਸ ਵਿੱਚ C (C300) ਕੋਡ ਦੀਆਂ 89 ਹਜ਼ਾਰ ਤੋਂ ਵੱਧ ਲਾਈਨਾਂ ਸ਼ਾਮਲ ਸਨ। ਸਿਰਫ਼ ਕੁਝ ਲੋਕ ਵਿਮ ਕੋਡਬੇਸ ਦੀਆਂ ਸਾਰੀਆਂ ਬਾਰੀਕੀਆਂ ਨੂੰ ਸਮਝਦੇ ਹਨ, ਅਤੇ ਸਾਰੀਆਂ ਤਬਦੀਲੀਆਂ ਨੂੰ ਇੱਕ ਮੇਨਟੇਨਰ ਦੁਆਰਾ ਨਿਯੰਤਰਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਸੰਪਾਦਕ ਨੂੰ ਬਣਾਈ ਰੱਖਣਾ ਅਤੇ ਸੁਧਾਰ ਕਰਨਾ ਮੁਸ਼ਕਲ ਹੋ ਜਾਂਦਾ ਹੈ। GUI ਦਾ ਸਮਰਥਨ ਕਰਨ ਲਈ ਵਿਮ ਕੋਰ ਵਿੱਚ ਬਣੇ ਕੋਡ ਦੀ ਬਜਾਏ, ਨਿਓਵਿਮ ਇੱਕ ਯੂਨੀਵਰਸਲ ਲੇਅਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦਾ ਪ੍ਰਸਤਾਵ ਦਿੰਦਾ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਵੱਖ-ਵੱਖ ਟੂਲਕਿੱਟਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੰਟਰਫੇਸ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।

Neovim ਲਈ ਪਲੱਗਇਨ ਵੱਖ-ਵੱਖ ਪ੍ਰਕਿਰਿਆਵਾਂ ਦੇ ਤੌਰ 'ਤੇ ਲਾਂਚ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਗੱਲਬਾਤ ਕਰਨ ਲਈ MessagePack ਫਾਰਮੈਟ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਪਲੱਗਇਨਾਂ ਨਾਲ ਪਰਸਪਰ ਪ੍ਰਭਾਵ ਸੰਪਾਦਕ ਦੇ ਮੂਲ ਭਾਗਾਂ ਨੂੰ ਰੋਕੇ ਬਿਨਾਂ, ਅਸਿੰਕ੍ਰੋਨਸ ਤੌਰ 'ਤੇ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਪਲੱਗਇਨ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ, ਇੱਕ TCP ਸਾਕਟ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਯਾਨੀ. ਪਲੱਗਇਨ ਨੂੰ ਬਾਹਰੀ ਸਿਸਟਮ 'ਤੇ ਚਲਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। ਇਸ ਦੇ ਨਾਲ ਹੀ, ਨਿਓਵਿਮ ਵਿਮ ਦੇ ਨਾਲ ਪਿੱਛੇ ਵੱਲ ਅਨੁਕੂਲ ਰਹਿੰਦਾ ਹੈ, ਵਿਮਸਕ੍ਰਿਪਟ ਦਾ ਸਮਰਥਨ ਕਰਨਾ ਜਾਰੀ ਰੱਖਦਾ ਹੈ (ਲੁਆ ਨੂੰ ਵਿਕਲਪ ਵਜੋਂ ਪੇਸ਼ ਕੀਤਾ ਜਾਂਦਾ ਹੈ) ਅਤੇ ਜ਼ਿਆਦਾਤਰ ਸਟੈਂਡਰਡ ਵਿਮ ਪਲੱਗਇਨਾਂ ਲਈ ਕਨੈਕਸ਼ਨਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ। Neovim ਦੀਆਂ ਉੱਨਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ Neovim-ਵਿਸ਼ੇਸ਼ APIs ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬਣਾਏ ਪਲੱਗਇਨਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।

В настоящее время уже ਤਿਆਰ около 80 специфичных плагинов, доступны биндинги для создания плагинов и реализаций интерфейсов с использованием различных языков программирования (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) и фреймворков (Qt5, ncurses, Node.js, Electron, GTK+). Развивается несколько вариантов пользовательского интерфейса. GUI-надстройки во многом напоминают плагины, но, в отличие от плагинов, они инициируют вызов функций Neovim, в то время как плагины вызываются из Neovim.

Некоторые из изменений в ਨਵਾਂ ਸੰਸਕਰਣ:

  • Добавлена большая порция новых функций API и событий интерфейса пользователя.
  • Добавлена новая стандартная библиотека Nvim-Lua для разработки плагинов на языке Lua.
  • Продолжено развитие протокола пользовательского интерфейса, выполняющего обновление информации на экране на уровне строк, а не отдельных символов.
  • Добавлена поддержка полноценных плавающих окон, которые могут размещаться в произвольном месте, прикрепляться, связываться с отдельными буферами редактирования, группироваться в режиме Multigrid.
  • Добавлена опция ‘pumblend’ для полупрозрачных выпадающих меню.

ਸਰੋਤ: opennet.ru

ਇੱਕ ਟਿੱਪਣੀ ਜੋੜੋ