ವಿಸ್ತರಣಾ ಸಾಮರ್ಥ್ಯ ಮತ್ತು ನಮ್ಯತೆಯನ್ನು ಹೆಚ್ಚಿಸುವತ್ತ ಗಮನಹರಿಸಿದ ವಿಮ್ ಸಂಪಾದಕದ ಫೋರ್ಕ್ ನಿಯೋವಿಮ್ 0.7.0 ಬಿಡುಗಡೆಯಾಗಿದೆ. ಈ ಯೋಜನೆಯು ಏಳು ವರ್ಷಗಳಿಗೂ ಹೆಚ್ಚು ಕಾಲ ವಿಮ್ ಕೋಡ್ಬೇಸ್ ಅನ್ನು ಪುನರ್ನಿರ್ಮಿಸುತ್ತಿದೆ, ಕೋಡ್ ನಿರ್ವಹಣೆಯನ್ನು ಸರಳಗೊಳಿಸುವ ಬದಲಾವಣೆಗಳನ್ನು ಪರಿಚಯಿಸುತ್ತಿದೆ, ಬಹು ನಿರ್ವಹಣಾಕಾರರ ನಡುವೆ ಕಾರ್ಮಿಕರನ್ನು ವಿಭಜಿಸಲು ಪರಿಕರಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ, ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಕೋರ್ನಿಂದ ಬೇರ್ಪಡಿಸುತ್ತದೆ (ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಇಂಟರ್ನಲ್ಗಳನ್ನು ಮುಟ್ಟದೆ ಬದಲಾಯಿಸಬಹುದು), ಮತ್ತು ಹೊಸ, ವಿಸ್ತರಿಸಬಹುದಾದ, ಪ್ಲಗಿನ್-ಆಧಾರಿತ ವಾಸ್ತುಶಿಲ್ಪವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. ಯೋಜನೆಯ ಮೂಲ ಕೆಲಸವು ಅಪಾಚೆ 2.0 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ಪರವಾನಗಿ ಪಡೆದಿದೆ ಮತ್ತು ಕೋರ್ ಭಾಗವು ವಿಮ್ ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ಪರವಾನಗಿ ಪಡೆದಿದೆ. ಪೂರ್ಣಗೊಂಡ ನಿರ್ಮಾಣಗಳು ಲಭ್ಯವಿದೆ Linux (ಅನುಬಂಧ), Windows и macOS.
ನಿಯೋವಿಮ್ನ ರಚನೆಯನ್ನು ಪ್ರೇರೇಪಿಸಿದ ವಿಮ್ನೊಂದಿಗಿನ ಸಮಸ್ಯೆಗಳೆಂದರೆ ಅದರ ಉಬ್ಬಿದ, ಏಕಶಿಲೆಯ ಕೋಡ್ ಬೇಸ್, ಇದು 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 ಬೆಂಬಲವನ್ನು ನಿಲ್ಲಿಸಲಾಗಿದೆ, ಕೀಮ್ಯಾಪ್ಗಳಲ್ಲಿ Lua ಕಾರ್ಯಗಳ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ, API ಗೆ ಹೊಸ ಆಜ್ಞೆಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಪ್ಲಗಿನ್ ಅಭಿವೃದ್ಧಿ ಮತ್ತು ಸಂರಚನಾ ನಿರ್ವಹಣೆಗಾಗಿ Lua ಅನ್ನು ಬಳಸುವ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಗಮನಾರ್ಹವಾಗಿ ವಿಸ್ತರಿಸಲಾಗಿದೆ, ಕೋಡ್ ಡಯಾಗ್ನೋಸ್ಟಿಕ್ ಪರಿಕರಗಳನ್ನು ಸುಧಾರಿಸಲಾಗಿದೆ, ಜಾಗತಿಕ ಸ್ಥಿತಿ ಪಟ್ಟಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗಿದೆ. ಅಂತರ್ನಿರ್ಮಿತ LSP (ಭಾಷಾ ಸರ್ವರ್ ಪ್ರೋಟೋಕಾಲ್) ಕ್ಲೈಂಟ್ನ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ವಿಸ್ತರಿಸಲಾಗಿದೆ, ಇದು ಕೋಡ್ ವಿಶ್ಲೇಷಣೆ ಮತ್ತು ಸ್ವಯಂಪೂರ್ಣಗೊಳಿಸುವಿಕೆಯ ತರ್ಕದ ಬಾಹ್ಯೀಕರಣವನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಸರ್ವರ್ಗಳು.
ಮೂಲ: opennet.ru
