Ruby support for Neovim.
Add this line to your application's Gemfile:
gem "neovim"And then execute:
bundleOr install it yourself as:
gem install neovimNeovim supports the --listen option for specifying an address to serve its RPC API. To connect to Neovim over a Unix socket, start it up like this:
$ nvim --listen /tmp/nvim.sockYou can then connect to that socket path to get a Neovim::Client:
require "neovim"
client = Neovim.attach_unix("/tmp/nvim.sock")Refer to the Neovim docs for other ways to connect to nvim, and the Neovim::Client docs for a summary of the client interface.
Remote modules allow users to define custom handlers in Ruby. To implement a remote module:
- Define your handlers in a plain Ruby script that imports
neovim - Spawn the script from lua using
jobstart - Define commands in lua using
nvim_create_user_commandthat route to the job's channel ID
For usage examples, see:
Note: Remote modules are a replacement for the deprecated "remote plugin" architecture. See neovim/neovim#27949 for details.
The Neovim gem also acts as a compatibility layer for Ruby plugins written for vim. The :ruby, :rubyfile, and :rubydo commands are intended to match their original behavior, and their documentation can be found here.
- Source: https://github.com/neovim/neovim-ruby
- Bugs: https://github.com/neovim/neovim-ruby/issues
- CI: https://github.com/neovim/neovim-ruby/actions
- Documentation:
- Fork it (https://github.com/neovim/neovim-ruby/fork)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request