All Projects → neovim → Neovim Ruby

neovim / Neovim Ruby

Licence: mit
Ruby support for Neovim

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Neovim Ruby

Visual Split.vim
Vim plugin to control splits with visual selections or text objects
Stars: ✭ 190 (-5.94%)
Mutual labels:  neovim, neovim-plugin
Vim Packager
Vim plugin manager that utilizes "jobs" and "pack" features.
Stars: ✭ 197 (-2.48%)
Mutual labels:  neovim, neovim-plugin
Vim Clap
👏 Modern performant fuzzy picker for Vim and NeoVim
Stars: ✭ 1,802 (+792.08%)
Mutual labels:  neovim, neovim-plugin
Nvim Treesitter Context
Show code context
Stars: ✭ 113 (-44.06%)
Mutual labels:  neovim, neovim-plugin
Neotex
latex live preview - plugin for neovim and vim 8
Stars: ✭ 170 (-15.84%)
Mutual labels:  neovim, neovim-plugin
Nvim Bqf
Better quickfix window in Neovim, polish old quickfix window.
Stars: ✭ 120 (-40.59%)
Mutual labels:  neovim, neovim-plugin
Nvim Lsputils
Better defaults for nvim-lsp actions
Stars: ✭ 142 (-29.7%)
Mutual labels:  neovim, neovim-plugin
Sniprun
A neovim plugin to run lines/blocs of code (independently of the rest of the file), supporting multiples languages
Stars: ✭ 93 (-53.96%)
Mutual labels:  neovim, neovim-plugin
Vim Dadbod Completion
Database autocompletion powered by https://github.com/tpope/vim-dadbod
Stars: ✭ 163 (-19.31%)
Mutual labels:  neovim, neovim-plugin
Targets.vim
Vim plugin that provides additional text objects
Stars: ✭ 2,114 (+946.53%)
Mutual labels:  neovim, neovim-plugin
Toast.vim
🍞 Toast! A colorful, medium-contrast color scheme with full Vim and Neovim support and automatic light and dark variants. Easy to read without frying your retinae.
Stars: ✭ 108 (-46.53%)
Mutual labels:  neovim, neovim-plugin
Deoplete Clang
deoplete.nvim source for C/C++/Obj-C/Obj-C++ with clang-python3
Stars: ✭ 186 (-7.92%)
Mutual labels:  neovim, neovim-plugin
Neovim Fuzzy
Fuzzy file finding for neovim
Stars: ✭ 103 (-49.01%)
Mutual labels:  neovim, neovim-plugin
Neotags.nvim
Tag highlight in neovim
Stars: ✭ 124 (-38.61%)
Mutual labels:  neovim, neovim-plugin
Asyncrun.vim
🚀 Run Async Shell Commands in Vim 8.0 / NeoVim and Output to the Quickfix Window !!
Stars: ✭ 1,332 (+559.41%)
Mutual labels:  neovim, neovim-plugin
Vem Tabline
A lightweight Vim/Neovim plugin to display buffers and tabs in the tabline
Stars: ✭ 129 (-36.14%)
Mutual labels:  neovim, neovim-plugin
Wishlist
A public catalogue of Lua plugins Neovim users would like to see exist
Stars: ✭ 74 (-63.37%)
Mutual labels:  neovim, neovim-plugin
Todoist.nvim
A todoist extension for neovim
Stars: ✭ 84 (-58.42%)
Mutual labels:  neovim, neovim-plugin
Acid.nvim
Asynchronous Clojure Interactive Development
Stars: ✭ 147 (-27.23%)
Mutual labels:  neovim, neovim-plugin
Animate.vim
A Vim Window Animation Library
Stars: ✭ 173 (-14.36%)
Mutual labels:  neovim, neovim-plugin

Neovim Ruby

Build Status Gem Version

Ruby support for Neovim.

Installation

Add this line to your application's Gemfile:

gem "neovim"

And then execute:

bundle

Or install it yourself as:

gem install neovim

Usage

You can control a running nvim process by connecting to $NVIM_LISTEN_ADDRESS. For example, to connect to nvim over a UNIX domain socket, start it up like this:

$ NVIM_LISTEN_ADDRESS=/tmp/nvim.sock nvim

You 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.

Plugins

Plugins are Ruby files loaded from the $VIMRUNTIME/rplugin/ruby/ directory. Here's an example plugin:

# ~/.config/nvim/rplugin/ruby/example_plugin.rb

Neovim.plugin do |plug|
  # Define a command called "SetLine" which sets the contents of the current
  # line. This command is executed asynchronously, so the return value is
  # ignored.
  plug.command(:SetLine, nargs: 1) do |nvim, str|
    nvim.current.line = str
  end

  # Define a function called "Sum" which adds two numbers. This function is
  # executed synchronously, so the result of the block will be returned to nvim.
  plug.function(:Sum, nargs: 2, sync: true) do |nvim, x, y|
    x + y
  end

  # Define an autocmd for the BufEnter event on Ruby files.
  plug.autocmd(:BufEnter, pattern: "*.rb") do |nvim|
    nvim.command("echom 'Ruby file, eh?'")
  end
end

When you add or update a plugin, you will need to call :UpdateRemotePlugins to update the remote plugin manifest. See :help remote-plugin-manifest for more information.

Refer to the Neovim::Plugin::DSL docs for a more complete overview of the Neovim.plugin DSL.

Vim Plugin Support

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.

Links

Contributing

  1. Fork it (https://github.com/neovim/neovim-ruby/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].