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

ನಿಯೋವಿಮ್ 0.7.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 ಒಳಗೆ ಕರೆಯಲಾಗುತ್ತದೆ.

ಹೊಸ ಆವೃತ್ತಿಯು ರಿಮೋಟ್ ಕೆಲಸಕ್ಕಾಗಿ ಆರಂಭಿಕ ಬೆಂಬಲವನ್ನು ನೀಡುತ್ತದೆ, ಇದು ಸರ್ವರ್‌ನಲ್ಲಿ ನಿಯೋವಿಮ್ ಅನ್ನು ಚಲಾಯಿಸಲು ಮತ್ತು ಪ್ರತ್ಯೇಕ ui_client ಅನ್ನು ಬಳಸಿಕೊಂಡು ಕ್ಲೈಂಟ್ ಸಿಸ್ಟಮ್‌ನಿಂದ ಅದನ್ನು ಸಂಪರ್ಕಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಇತರ ಬದಲಾವಣೆಗಳು ಸೇರಿವೆ: ಪೈಥಾನ್ 2 ಗೆ ಬೆಂಬಲವನ್ನು ನಿಲ್ಲಿಸಲಾಗಿದೆ, ಕೀಮ್ಯಾಪ್‌ನಲ್ಲಿ ಲುವಾ ಕಾರ್ಯಗಳ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ, ಹೊಸ ಆಜ್ಞೆಗಳನ್ನು API ಗೆ ಸೇರಿಸಲಾಗಿದೆ, ಪ್ಲಗಿನ್‌ಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ಲುವಾ ಭಾಷೆಯನ್ನು ಬಳಸುವ ಸಾಮರ್ಥ್ಯ ಮತ್ತು ಕಾನ್ಫಿಗರೇಶನ್ ನಿರ್ವಹಣೆಯನ್ನು ಗಮನಾರ್ಹವಾಗಿ ವಿಸ್ತರಿಸಲಾಗಿದೆ, ಕೋಡ್‌ನಲ್ಲಿನ ಸಮಸ್ಯೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಪರಿಕರಗಳನ್ನು ಸುಧಾರಿಸಲಾಗಿದೆ, ಜಾಗತಿಕ ಸ್ಥಿತಿ ಪಟ್ಟಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಕಾರ್ಯಕ್ಷಮತೆಯ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳನ್ನು ಕೈಗೊಳ್ಳಲಾಗಿದೆ. ಅಂತರ್ನಿರ್ಮಿತ LSP ಕ್ಲೈಂಟ್‌ನ (ಲ್ಯಾಂಗ್ವೇಜ್ ಸರ್ವರ್ ಪ್ರೋಟೋಕಾಲ್) ಸಾಮರ್ಥ್ಯಗಳನ್ನು ವಿಸ್ತರಿಸಲಾಗಿದೆ, ಇದನ್ನು ಬಾಹ್ಯ ಸರ್ವರ್‌ಗಳಿಗೆ ವಿಶ್ಲೇಷಣೆ ತರ್ಕ ಮತ್ತು ಕೋಡ್ ಪೂರ್ಣಗೊಳಿಸುವಿಕೆಯನ್ನು ವರ್ಗಾಯಿಸಲು ಬಳಸಬಹುದು.

ಮೂಲ: opennet.ru

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