Neovim 0.6.0 ಬಿಡುಗಡೆ, Vim ಸಂಪಾದಕರ ಆಧುನಿಕ ಆವೃತ್ತಿ

ನಿಯೋವಿಮ್ 0.6.0 ಬಿಡುಗಡೆಯಾಗಿದೆ, ವಿಮ್ ಸಂಪಾದಕದ ಫೋರ್ಕ್ ವಿಸ್ತರಣೆ ಮತ್ತು ನಮ್ಯತೆಯನ್ನು ಹೆಚ್ಚಿಸುವುದರ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಿದೆ. ಯೋಜನೆಯು ಏಳು ವರ್ಷಗಳಿಗಿಂತಲೂ ಹೆಚ್ಚು ಕಾಲ ವಿಮ್ ಕೋಡ್ ಬೇಸ್ ಅನ್ನು ಮರುನಿರ್ಮಾಣ ಮಾಡುತ್ತಿದೆ, ಇದರ ಪರಿಣಾಮವಾಗಿ ಕೋಡ್ ನಿರ್ವಹಣೆಯನ್ನು ಸರಳಗೊಳಿಸುವ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಲಾಗಿದೆ, ಹಲವಾರು ನಿರ್ವಾಹಕರ ನಡುವೆ ಕಾರ್ಮಿಕರನ್ನು ವಿಭಜಿಸುವ ಸಾಧನವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಮೂಲ ಭಾಗದಿಂದ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಪ್ರತ್ಯೇಕಿಸಿ (ಇಂಟರ್ಫೇಸ್ ಆಗಿರಬಹುದು ಇಂಟರ್ನಲ್‌ಗಳನ್ನು ಮುಟ್ಟದೆ ಬದಲಾಯಿಸಲಾಗಿದೆ) ಮತ್ತು ಪ್ಲಗ್‌ಇನ್‌ಗಳ ಆಧಾರದ ಮೇಲೆ ಹೊಸ ಎಕ್ಸ್‌ಟೆನ್ಸಿಬಲ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ಅಳವಡಿಸಿ. ಯೋಜನೆಯ ಮೂಲ ಬೆಳವಣಿಗೆಗಳನ್ನು Apache 2.0 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ ಮತ್ತು ಮೂಲ ಭಾಗವನ್ನು Vim ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ. ಲಿನಕ್ಸ್ (ಅಪ್ಪಿಮೇಜ್), ವಿಂಡೋಸ್ ಮತ್ತು ಮ್ಯಾಕೋಸ್‌ಗಾಗಿ ರೆಡಿಮೇಡ್ ಅಸೆಂಬ್ಲಿಗಳನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗಿದೆ.

ನಿಯೋವಿಮ್‌ನ ರಚನೆಯನ್ನು ಪ್ರೇರೇಪಿಸಿದ ವಿಮ್‌ನೊಂದಿಗಿನ ಸಮಸ್ಯೆಗಳೆಂದರೆ ಅದರ ಉಬ್ಬಿದ, ಏಕಶಿಲೆಯ ಕೋಡ್ ಬೇಸ್, ಇದು 300 ಸಾವಿರಕ್ಕೂ ಹೆಚ್ಚು ಸಿ (ಸಿ 89) ಕೋಡ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ. ಕೆಲವೇ ಜನರು Vim ಕೋಡ್‌ಬೇಸ್‌ನ ಎಲ್ಲಾ ಸೂಕ್ಷ್ಮ ವ್ಯತ್ಯಾಸಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತಾರೆ ಮತ್ತು ಎಲ್ಲಾ ಬದಲಾವಣೆಗಳನ್ನು ಒಬ್ಬ ನಿರ್ವಾಹಕರಿಂದ ನಿಯಂತ್ರಿಸಲಾಗುತ್ತದೆ, ಇದು ಸಂಪಾದಕವನ್ನು ನಿರ್ವಹಿಸಲು ಮತ್ತು ಸುಧಾರಿಸಲು ಕಷ್ಟವಾಗುತ್ತದೆ. GUI ಅನ್ನು ಬೆಂಬಲಿಸಲು Vim ಕೋರ್‌ನಲ್ಲಿ ನಿರ್ಮಿಸಲಾದ ಕೋಡ್‌ಗೆ ಬದಲಾಗಿ, ವಿವಿಧ ಟೂಲ್‌ಕಿಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಇಂಟರ್‌ಫೇಸ್‌ಗಳನ್ನು ರಚಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಸಾರ್ವತ್ರಿಕ ಪದರವನ್ನು ಬಳಸಿಕೊಂಡು Neovim ಪ್ರಸ್ತಾಪಿಸುತ್ತದೆ.

Neovim ಗಾಗಿ ಪ್ಲಗಿನ್‌ಗಳನ್ನು ಪ್ರತ್ಯೇಕ ಪ್ರಕ್ರಿಯೆಗಳಾಗಿ ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ, ಅದರೊಂದಿಗೆ MessagePack ಸ್ವರೂಪವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಸಂಪಾದಕರ ಮೂಲ ಘಟಕಗಳನ್ನು ನಿರ್ಬಂಧಿಸದೆಯೇ ಪ್ಲಗಿನ್‌ಗಳೊಂದಿಗಿನ ಸಂವಹನವನ್ನು ಅಸಮಕಾಲಿಕವಾಗಿ ನಡೆಸಲಾಗುತ್ತದೆ. ಪ್ಲಗಿನ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು, TCP ಸಾಕೆಟ್ ಅನ್ನು ಬಳಸಬಹುದು, ಅಂದರೆ. ಪ್ಲಗಿನ್ ಅನ್ನು ಬಾಹ್ಯ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಚಲಾಯಿಸಬಹುದು. ಅದೇ ಸಮಯದಲ್ಲಿ, ನಿಯೋವಿಮ್ ವಿಮ್‌ನೊಂದಿಗೆ ಹಿಮ್ಮುಖವಾಗಿ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ, ವಿಮ್‌ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬೆಂಬಲಿಸುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತದೆ (ಲುವಾವನ್ನು ಪರ್ಯಾಯವಾಗಿ ನೀಡಲಾಗುತ್ತದೆ) ಮತ್ತು ಹೆಚ್ಚಿನ ಗುಣಮಟ್ಟದ ವಿಮ್ ಪ್ಲಗಿನ್‌ಗಳಿಗೆ ಸಂಪರ್ಕಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. Neovim ನ ಸುಧಾರಿತ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು Neovim-ನಿರ್ದಿಷ್ಟ API ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ನಿರ್ಮಿಸಲಾದ ಪ್ಲಗಿನ್‌ಗಳಲ್ಲಿ ಬಳಸಬಹುದು.

ಪ್ರಸ್ತುತ, ಸುಮಾರು 130 ನಿರ್ದಿಷ್ಟ ಪ್ಲಗಿನ್‌ಗಳನ್ನು ಈಗಾಗಲೇ ಸಿದ್ಧಪಡಿಸಲಾಗಿದೆ, ಪ್ಲಗಿನ್‌ಗಳನ್ನು ರಚಿಸಲು ಮತ್ತು ವಿವಿಧ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳನ್ನು (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) ಮತ್ತು ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಇಂಟರ್ಫೇಸ್‌ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಬೈಂಡಿಂಗ್‌ಗಳು ಲಭ್ಯವಿದೆ (Qt, ncurses, ನೋಡ್ .js, ಎಲೆಕ್ಟ್ರಾನ್, GTK). ಹಲವಾರು ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ಆಯ್ಕೆಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗುತ್ತಿದೆ. GUI ಆಡ್-ಆನ್‌ಗಳು ಅನೇಕ ವಿಧಗಳಲ್ಲಿ ಪ್ಲಗಿನ್‌ಗಳಿಗೆ ಹೋಲುತ್ತವೆ, ಆದರೆ ಪ್ಲಗ್‌ಇನ್‌ಗಳಂತಲ್ಲದೆ, ಅವು Neovim ಕಾರ್ಯಗಳಿಗೆ ಕರೆಗಳನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತವೆ, ಆದರೆ ಪ್ಲಗಿನ್‌ಗಳನ್ನು Neovim ಒಳಗೆ ಕರೆಯಲಾಗುತ್ತದೆ.

ಹೊಸ ಆವೃತ್ತಿಯಲ್ಲಿನ ಕೆಲವು ಬದಲಾವಣೆಗಳು:

  • В vim-скрипты добавлена поддержка локальных переменных, область видимости для которых ограничена только текущим скриптом.
  • Значительно улучшена поддержка языка Lua для разработки плагинов и управления конфигурацией. В vim-скриптах добавлена возможность вызова Lua-функций как методов через указание префикса v:lua (например, «arg1->v:lua.somemod.func(arg2)»).
  • Расширены возможности встроенного LSP-клиента (Language Server Protocol), который можно использовать для выноса логики анализа и автодополнения кода на внешние серверы. Применение LSP позволяет использовать более 150 готовых обработчиков для различных языков программирования, подготовленных для редактора кода Visual Studio Code.
  • Улучшены средства диагностики проблем в коде. Добавлена возможность вывода текста диагностических сообщений и плавающих окон с кодом, связанным с подобными сообщениями. Обеспечена обработка диагностических сообщений, передаваемых LSP-сервером.
  • Добавлена поддержка виртуальных строк, которые могут использоваться, например, для вывода блоков со служебной информацией.
  • Внесены различные оптимизации производительности, например, задействована хэш таблица для подсвечиваемых имён групп.
  • Прекращена поддержка Windows 7 и 32-разрядных сборок для Windows.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ