A Ruby client library and plugin compatibility layer for Neovim's RPC API.
Neovim Ruby is a Ruby gem that provides Ruby language support for Neovim. It allows developers to write plugins, scripts, and remote modules in Ruby by connecting to Neovim's RPC API. The project also maintains compatibility with legacy Vim Ruby plugins through command emulation.
Ruby developers who use Neovim and want to extend the editor with Ruby scripts or migrate existing Vim Ruby plugins to Neovim.
It offers a modern RPC-based interface for Neovim integration while preserving backward compatibility with Vim's Ruby ecosystem, making it the official Ruby client for Neovim.
Ruby support for Neovim
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
As the official Ruby support for Neovim, it provides a standardized and reliable way to interact with the editor's RPC API, ensuring long-term compatibility and maintenance.
Supports :ruby, :rubyfile, and :rubydo commands to run existing Vim Ruby plugins in Neovim, easing migration without full rewrites.
Enables connections via Unix sockets or TCP, offering multiple programmatic control options for scripting and remote modules.
Facilitates modern plugin development by defining Ruby handlers spawned as jobs from Lua, aligning with Neovim's evolving remote plugin system.
Communication through RPC introduces latency compared to native Lua plugins, which can affect real-time operations and responsiveness.
Requires manual socket management and job spawning for remote modules, making it more involved than dropping Lua files into a plugin directory.
The shift from deprecated remote plugins to new remote modules, as noted in the README, forces users to adapt to changing architectures and potential breaking changes.