Module: Vim
- Defined in:
- lib/neovim/ruby_provider/vim.rb
Overview
The VIM module provides backwards compatibility for the :ruby
, :rubyfile
, and :rubydo
vim
functions.
Constant Summary collapse
Class Method Summary collapse
- .__client=(client) ⇒ Object
- .__refresh_globals(client) ⇒ Object
-
.method_missing(method, *args, &block) ⇒ Object
Delegate all method calls to the underlying
Neovim::Client
object. - .respond_to_missing?(method, *args) ⇒ Boolean
Class Method Details
.__client=(client) ⇒ Object
12 13 14 |
# File 'lib/neovim/ruby_provider/vim.rb', line 12 def self.__client=(client) @__client = client end |
.__refresh_globals(client) ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/neovim/ruby_provider/vim.rb', line 35 def self.__refresh_globals(client) bufid, winid = client.evaluate("[nvim_get_current_buf(), nvim_get_current_win()]") session, api = client.session, client.api $curbuf = @__buffer_cache.fetch(bufid) do @__buffer_cache[bufid] = Buffer.new(bufid, session, api) end $curwin = Window.new(winid, session, api) end |
.method_missing(method, *args, &block) ⇒ Object
Delegate all method calls to the underlying Neovim::Client
object.
17 18 19 20 21 22 23 24 25 |
# File 'lib/neovim/ruby_provider/vim.rb', line 17 def self.method_missing(method, *args, &block) if @__client @__client.public_send(method, *args, &block).tap do __refresh_globals(@__client) end else super end end |
.respond_to_missing?(method, *args) ⇒ Boolean
27 28 29 30 31 32 33 |
# File 'lib/neovim/ruby_provider/vim.rb', line 27 def self.respond_to_missing?(method, *args) if @__client @__client.send(:respond_to_missing?, method, *args) else super end end |