ืืืืจ ืืืขื ืฉื ืชืืื ืฉื ืคืืชืื, ืืฆื Neovim 0.5, ืืืื ืฉื ืขืืจื Vim ืฉืืชืืงื ืืืืืืช ืืืจืืื ืืืืืืฉืืช. ืืคืจืืืงื ืืขืื ืืืืฉ ืืช ืืกืืก ืืงืื ืฉื Vim ืืืจ ืืืชืจ ืืฉืืข ืฉื ืื, ืืืชืืฆืื ืืื ืืชืืฆืขืื ืฉืื ืืืื ืืืคืฉืืื ืืช ืชืืืืงืช ืืงืื, ืืกืคืงืื ืืืฆืขื ืืืืืงืช ืขืืืื ืืื ืืกืคืจ ืืชืืืงืื, ืืคืจืืืื ืืื ืืืืฉืง ืืืืง ืืืกืืก (ืืืืฉืง ืืืื ืืืืืช ืืฉืชื ื ืืืื ืืืขืช ืืืืง ืืคื ืืื) ืืืืืืข ืืจืืืืงืืืจื ืืืฉื ืื ืืชื ืช ืืืจืืื ืืืืืกืกืช ืขื ืชืืกืคืื. ืืคืืชืืืื ืืืงืืจืืื ืฉื ืืคืจืืืงื ืืืคืฆืื ืชืืช ืจืืฉืืื Apache 2.0, ืืืืืง ืืืกืืกื ืืืคืฅ ืชืืช ืจืืฉืืื Vim.
ืืืช ืืืขืืืช ืขื Vim ืฉืื ืืขื ืืช ืืฆืืจืช Neovim ืืืืชื ืืกืืก ืืงืื ืืื ืืคื ืืืืื ืืืืื ืฉืื, ืืืืจืื ืืืืชืจ ื-300 ืืืฃ ืฉืืจืืช ืฉื ืงืื C (C89). ืจืง ืื ืฉืื ืืขืืื ืืืื ืื ืืช ืื ืื ืืืื ืกืื ืฉื ืืกืืก ืืงืื ืฉื Vim, ืืื ืืฉืื ืืืื ื ืฉืืืื ืขื ืืื ืืชืืืง ืืื, ืื ืฉืืงืฉื ืขื ืชืืืืงื ืืฉืืคืืจ ืฉื ืืขืืจื. ืืืงืื ืืงืื ืืืืื ื ืืืืืช Vim ืืชืืืื ื-GUI, Neovim ืืฆืืขื ืืืฉืชืืฉ ืืฉืืื ืืื ืืืจืกืืืช ืืืืคืฉืจืช ืืืฆืืจ ืืืฉืงืื ืืืืฆืขืืช ืขืจืืืช ืืืื ืฉืื ืืช.
ืชืืกืคืื ืขืืืจ Neovim ืืืฉืงืื ืืชืืืืืื ื ืคืจืืื, ืืืื ืืจืืงืฆืื ืืืชื ื ืขืฉื ืฉืืืืฉ ืืคืืจืื MessagePack. ืืื ืืจืืงืฆืื ืขื ืชืืกืคืื ืืชืืฆืขืช ืืืืคื ืืกืื ืืจืื ื, ืืืื ืืืกืื ืืช ืืจืืืืื ืืืกืืกืืื ืฉื ืืขืืจื. ืืื ืืืฉืช ืืชืืกืฃ, ื ืืชื ืืืฉืชืืฉ ืืฉืงืข TCP, ืืืืืจ. ื ืืชื ืืืคืขืื ืืช ืืชืืกืฃ ืขื ืืขืจืืช ืืืฆืื ืืช. ืืืงืืื, Neovim ื ืฉืืจืช ืชืืืืช ืืืืืจ ืขื Vim, ืืืฉืืื ืืชืืื ื-Vimscript (Lua ืืืฆืขืช ืืืืืคื) ืืชืืืืช ืืืืืืจืื ืืจืื ืืชืืกืคืื ืืกืื ืืจืืืื ืฉื Vim. ื ืืชื ืืืฉืชืืฉ ืืชืืื ืืช ืืืชืงืืืืช ืฉื Neovim ืืชืืกืคืื ืฉื ืื ื ืืืืฆืขืืช ืืืฉืงื API ืกืคืฆืืคืืื ื- Neovim.
ื ืืื ืืขืืฉืื, ืืืจ ืืืื ื ื-130 ืชืืกืคืื ืกืคืฆืืคืืื, ืืจืืืืช ืืืื ืืช ืืืฆืืจืช ืชืืกืคืื ืืืืืขืช ืืืฉืงืื ืืืืฆืขืืช ืฉืคืืช ืชืื ืืช ืฉืื ืืช (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) ืืืกืืจืืช (Qt, ncurses, Node .js, Electron, GTK). ืืคืชืืื ืืกืคืจ ืืคืฉืจืืืืช ืืืฉืง ืืฉืชืืฉ. ืชืืกืคืืช GUI ืืืืืช ืืืื ืืชืืกืคืื, ืืื ืื ืืืื ืืชืืกืคืื, ืื ืืืืืื ืงืจืืืืช ืืคืื ืงืฆืืืช ืฉื Neovim, ืืขืื ืฉืชืืกืคืื ื ืงืจืืื ืืชืื Neovim.
ืืืง ืืืฉืื ืืืื ืืืจืกื ืืืืฉื:
- ื ืืกืฃ ืืงืื LSP ืืืื ื (Language Server Protocol) ื-Lua, ืฉื ืืชื ืืืฉืชืืฉ ืื ืืื ืืืชืืืจ ืืฉืืจืืชืื ืืืฆืื ืืื ืืฆืืจื ื ืืชืื ืืืฉืืืช ืงืื.
- ืืืกืฃ API ืืื ืืฉืืื ืืขืืฆืื ืืืืจื ืืงืฆืื.
- ืืืกืืฃ API ืืฉืืืืฉ ืืชืืื ืืืจืืืื ืืื ืืขืงืื ืืืจ ืฉืื ืืืื ืืจืืช ืืืชืื.
- ืชืืืื ืืืจืืืช ื-Lua ืืฉืคื ืืคืืชืื ืชืืกืคืื ืื ืืืื ืชืฆืืจื.
- ื ืืกืคื ืชืืืื ื ืืกืืื ืืช ืขืืืจ ืื ืืข ื ืืชืื ืืขืฅ ืกืืืจ.
ืืงืืจ: OpenNet.ru