neovim 0.9.1 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/tests.yml +2 -4
- data/CHANGELOG.md +5 -0
- data/Flavorfile.lock +1 -1
- data/README.md +11 -27
- data/lib/neovim/buffer.rb +12 -12
- data/lib/neovim/client.rb +22 -11
- data/lib/neovim/remote_module/dsl.rb +30 -0
- data/lib/neovim/remote_module.rb +42 -0
- data/lib/neovim/tabpage.rb +6 -1
- data/lib/neovim/version.rb +1 -1
- data/lib/neovim/window.rb +6 -1
- data/lib/neovim.rb +9 -0
- data/script/ci/download_nvim.sh +3 -3
- data/script/host_wrapper.bat +3 -0
- data/script/host_wrapper.sh +5 -0
- data/script/run_acceptance.rb +2 -2
- data/spec/acceptance/client_info_spec.vim +14 -30
- data/spec/acceptance/remote_module_spec.vim +13 -0
- data/spec/acceptance/runtime/example_remote_module.rb +11 -0
- data/spec/acceptance/runtime/init.vim +6 -1
- data/spec/acceptance/runtime/plugin/example_remote_module.lua +23 -0
- metadata +12 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5320dac4af30229401acf28acf82589d27523b419a65caaf6a9b32982be13559
|
4
|
+
data.tar.gz: 1de09c53e257cce5c3b82902cd998a8b74601e452e25641e7e5f59fceed9bcaf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d4950d5edfd43619d9e2e3c4efccaee9ab9219cad3db41fd9d003262870ad2a98f77f3f76dba60c9fb17272fb0b0ad2982acdb1d9b8a31248e2c9ed494e27ec
|
7
|
+
data.tar.gz: 8cc1963557bd46b91e4050363296b4d5b87bd7f1fcf736ac5bb1b6a324d4ec1c84baf2cc6069290c73108ec948af37a2fb57e78b3ec8c5c7622e13f1b6e31e65
|
data/.github/workflows/tests.yml
CHANGED
@@ -12,7 +12,7 @@ jobs:
|
|
12
12
|
fail-fast: false
|
13
13
|
matrix:
|
14
14
|
os: [ubuntu-latest, macos-latest]
|
15
|
-
ruby: [
|
15
|
+
ruby: [ruby, head]
|
16
16
|
runs-on: ${{ matrix.os }}
|
17
17
|
if: "!contains(github.event.head_commit.message, '[skip ci]')"
|
18
18
|
steps:
|
@@ -37,8 +37,6 @@ jobs:
|
|
37
37
|
windows:
|
38
38
|
strategy:
|
39
39
|
fail-fast: false
|
40
|
-
matrix:
|
41
|
-
ruby: [2.7, 3.0, 3.1, 3.2]
|
42
40
|
runs-on: windows-latest
|
43
41
|
if: "!contains(github.event.head_commit.message, '[skip ci]')"
|
44
42
|
steps:
|
@@ -51,7 +49,7 @@ jobs:
|
|
51
49
|
repository: neovim/neovim-ruby
|
52
50
|
- uses: ruby/setup-ruby@v1
|
53
51
|
with:
|
54
|
-
ruby-version:
|
52
|
+
ruby-version: ruby
|
55
53
|
bundler-cache: true
|
56
54
|
- name: Install Neovim
|
57
55
|
uses: crazy-max/ghaction-chocolatey@v1
|
data/CHANGELOG.md
CHANGED
data/Flavorfile.lock
CHANGED
@@ -1 +1 @@
|
|
1
|
-
thinca/vim-themis (
|
1
|
+
thinca/vim-themis (c1f4d465ce7dd23735513551b5c4c918d9c1bab1 at master)
|
data/README.md
CHANGED
@@ -42,37 +42,21 @@ client = Neovim.attach_unix("/tmp/nvim.sock")
|
|
42
42
|
|
43
43
|
Refer to the [`Neovim` docs](https://www.rubydoc.info/github/neovim/neovim-ruby/main/Neovim) for other ways to connect to `nvim`, and the [`Neovim::Client` docs](https://www.rubydoc.info/github/neovim/neovim-ruby/main/Neovim/Client) for a summary of the client interface.
|
44
44
|
|
45
|
-
###
|
45
|
+
### Remote Modules
|
46
46
|
|
47
|
-
|
47
|
+
Remote modules allow users to define custom handlers in Ruby. To implement a remote module:
|
48
48
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
# line. This command is executed asynchronously, so the return value is
|
55
|
-
# ignored.
|
56
|
-
plug.command(:SetLine, nargs: 1) do |nvim, str|
|
57
|
-
nvim.current.line = str
|
58
|
-
end
|
59
|
-
|
60
|
-
# Define a function called "Sum" which adds two numbers. This function is
|
61
|
-
# executed synchronously, so the result of the block will be returned to nvim.
|
62
|
-
plug.function(:Sum, nargs: 2, sync: true) do |nvim, x, y|
|
63
|
-
x + y
|
64
|
-
end
|
65
|
-
|
66
|
-
# Define an autocmd for the BufEnter event on Ruby files.
|
67
|
-
plug.autocmd(:BufEnter, pattern: "*.rb") do |nvim|
|
68
|
-
nvim.command("echom 'Ruby file, eh?'")
|
69
|
-
end
|
70
|
-
end
|
71
|
-
```
|
49
|
+
- Define your handlers in a plain Ruby script that imports `neovim`
|
50
|
+
- Spawn the script from lua using `jobstart`
|
51
|
+
- Define commands in lua using `nvim_create_user_command` that route to the job's channel ID
|
52
|
+
|
53
|
+
For usage examples, see:
|
72
54
|
|
73
|
-
|
55
|
+
- [`example_remote_module.rb`](spec/acceptance/runtime/example_remote_module.rb)
|
56
|
+
- [`example_remote_module.lua`](spec/acceptance/runtime/plugin/example_remote_module.lua)
|
57
|
+
- [`remote_module_spec.vim`](spec/acceptance/remote_module_spec.vim)
|
74
58
|
|
75
|
-
|
59
|
+
*Note*: Remote modules are a replacement for the deprecated "remote plugin" architecture. See https://github.com/neovim/neovim/issues/27949 for details.
|
76
60
|
|
77
61
|
### Vim Plugin Support
|
78
62
|
|
data/lib/neovim/buffer.rb
CHANGED
@@ -4,7 +4,7 @@ require "neovim/line_range"
|
|
4
4
|
module Neovim
|
5
5
|
# Class representing an +nvim+ buffer.
|
6
6
|
#
|
7
|
-
# The methods documented here were generated using NVIM v0.
|
7
|
+
# The methods documented here were generated using NVIM v0.10.0
|
8
8
|
class Buffer < RemoteObject
|
9
9
|
attr_reader :lines
|
10
10
|
|
@@ -305,6 +305,17 @@ module Neovim
|
|
305
305
|
@param [Hash] opts
|
306
306
|
@return [Integer]
|
307
307
|
|
308
|
+
@method get_option(name)
|
309
|
+
See +:h nvim_buf_get_option()+
|
310
|
+
@param [String] name
|
311
|
+
@return [Object]
|
312
|
+
|
313
|
+
@method set_option(name, value)
|
314
|
+
See +:h nvim_buf_set_option()+
|
315
|
+
@param [String] name
|
316
|
+
@param [Object] value
|
317
|
+
@return [void]
|
318
|
+
|
308
319
|
@method get_extmark_by_id(ns_id, id, opts)
|
309
320
|
See +:h nvim_buf_get_extmark_by_id()+
|
310
321
|
@param [Integer] ns_id
|
@@ -350,17 +361,6 @@ module Neovim
|
|
350
361
|
@param [Integer] line_end
|
351
362
|
@return [void]
|
352
363
|
|
353
|
-
@method get_option(name)
|
354
|
-
See +:h nvim_buf_get_option()+
|
355
|
-
@param [String] name
|
356
|
-
@return [Object]
|
357
|
-
|
358
|
-
@method set_option(name, value)
|
359
|
-
See +:h nvim_buf_set_option()+
|
360
|
-
@param [String] name
|
361
|
-
@param [Object] value
|
362
|
-
@return [void]
|
363
|
-
|
364
364
|
=end
|
365
365
|
end
|
366
366
|
end
|
data/lib/neovim/client.rb
CHANGED
@@ -9,7 +9,7 @@ module Neovim
|
|
9
9
|
# +RemoteObject+ subclasses (i.e. +Buffer+, +Window+, or +Tabpage+),
|
10
10
|
# which similarly have dynamically generated interfaces.
|
11
11
|
#
|
12
|
-
# The methods documented here were generated using NVIM v0.
|
12
|
+
# The methods documented here were generated using NVIM v0.10.0
|
13
13
|
#
|
14
14
|
# @see Buffer
|
15
15
|
# @see Window
|
@@ -223,6 +223,16 @@ module Neovim
|
|
223
223
|
@param [String] name
|
224
224
|
@return [Hash]
|
225
225
|
|
226
|
+
@method get_option(name)
|
227
|
+
See +:h nvim_get_option()+
|
228
|
+
@param [String] name
|
229
|
+
@return [Object]
|
230
|
+
|
231
|
+
@method call_atomic(calls)
|
232
|
+
See +:h nvim_call_atomic()+
|
233
|
+
@param [Array] calls
|
234
|
+
@return [Array]
|
235
|
+
|
226
236
|
@method create_namespace(name)
|
227
237
|
See +:h nvim_create_namespace()+
|
228
238
|
@param [String] name
|
@@ -261,11 +271,6 @@ module Neovim
|
|
261
271
|
@param [Hash] opts
|
262
272
|
@return [Hash]
|
263
273
|
|
264
|
-
@method get_option(name)
|
265
|
-
See +:h nvim_get_option()+
|
266
|
-
@param [String] name
|
267
|
-
@return [Object]
|
268
|
-
|
269
274
|
@method ui_attach(width, height, options)
|
270
275
|
See +:h nvim_ui_attach()+
|
271
276
|
@param [Integer] width
|
@@ -314,6 +319,12 @@ module Neovim
|
|
314
319
|
@param [Float] col
|
315
320
|
@return [void]
|
316
321
|
|
322
|
+
@method ui_term_event(event, value)
|
323
|
+
See +:h nvim_ui_term_event()+
|
324
|
+
@param [String] event
|
325
|
+
@param [Object] value
|
326
|
+
@return [void]
|
327
|
+
|
317
328
|
@method get_hl_id_by_name(name)
|
318
329
|
See +:h nvim_get_hl_id_by_name()+
|
319
330
|
@param [String] name
|
@@ -332,6 +343,11 @@ module Neovim
|
|
332
343
|
@param [Hash] val
|
333
344
|
@return [void]
|
334
345
|
|
346
|
+
@method get_hl_ns(opts)
|
347
|
+
See +:h nvim_get_hl_ns()+
|
348
|
+
@param [Hash] opts
|
349
|
+
@return [Integer]
|
350
|
+
|
335
351
|
@method set_hl_ns(ns_id)
|
336
352
|
See +:h nvim_set_hl_ns()+
|
337
353
|
@param [Integer] ns_id
|
@@ -613,11 +629,6 @@ module Neovim
|
|
613
629
|
See +:h nvim_list_chans()+
|
614
630
|
@return [Array]
|
615
631
|
|
616
|
-
@method call_atomic(calls)
|
617
|
-
See +:h nvim_call_atomic()+
|
618
|
-
@param [Array] calls
|
619
|
-
@return [Array]
|
620
|
-
|
621
632
|
@method list_uis
|
622
633
|
See +:h nvim_list_uis()+
|
623
634
|
@return [Array]
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Neovim
|
2
|
+
class RemoteModule
|
3
|
+
# The DSL exposed in +Neovim.start_remote+ blocks.
|
4
|
+
#
|
5
|
+
# @api public
|
6
|
+
class DSL < BasicObject
|
7
|
+
attr_reader :handlers
|
8
|
+
|
9
|
+
def initialize(&block)
|
10
|
+
@handlers = ::Hash.new do |h, name|
|
11
|
+
h[name] = ::Proc.new do |_, *|
|
12
|
+
raise NotImplementedError, "undefined handler #{name.inspect}"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
block&.call(self)
|
17
|
+
end
|
18
|
+
|
19
|
+
# Define an RPC handler for use in remote modules.
|
20
|
+
#
|
21
|
+
# @param name [String] The handler name.
|
22
|
+
# @param block [Proc] The body of the handler.
|
23
|
+
def register_handler(name, &block)
|
24
|
+
@handlers[name.to_s] = ::Proc.new do |client, *args|
|
25
|
+
block.call(client, *args)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require "neovim/client"
|
2
|
+
require "neovim/event_loop"
|
3
|
+
require "neovim/logging"
|
4
|
+
require "neovim/remote_module/dsl"
|
5
|
+
require "neovim/session"
|
6
|
+
|
7
|
+
module Neovim
|
8
|
+
class RemoteModule
|
9
|
+
include Logging
|
10
|
+
|
11
|
+
def self.from_config_block(&block)
|
12
|
+
new(DSL::new(&block).handlers)
|
13
|
+
end
|
14
|
+
|
15
|
+
def initialize(handlers)
|
16
|
+
@handlers = handlers
|
17
|
+
end
|
18
|
+
|
19
|
+
def start
|
20
|
+
event_loop = EventLoop.stdio
|
21
|
+
session = Session.new(event_loop)
|
22
|
+
client = nil
|
23
|
+
|
24
|
+
session.run do |message|
|
25
|
+
case message
|
26
|
+
when Message::Request
|
27
|
+
begin
|
28
|
+
client ||= Client.from_event_loop(event_loop, session)
|
29
|
+
args = message.arguments.flatten(1)
|
30
|
+
|
31
|
+
@handlers[message.method_name].call(client, *args).tap do |rv|
|
32
|
+
session.respond(message.id, rv, nil) if message.sync?
|
33
|
+
end
|
34
|
+
rescue => e
|
35
|
+
log_exception(:error, e, __method__)
|
36
|
+
session.respond(message.id, nil, e.message) if message.sync?
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
data/lib/neovim/tabpage.rb
CHANGED
@@ -3,7 +3,7 @@ require "neovim/remote_object"
|
|
3
3
|
module Neovim
|
4
4
|
# Class representing an +nvim+ tabpage.
|
5
5
|
#
|
6
|
-
# The methods documented here were generated using NVIM v0.
|
6
|
+
# The methods documented here were generated using NVIM v0.10.0
|
7
7
|
class Tabpage < RemoteObject
|
8
8
|
# The following methods are dynamically generated.
|
9
9
|
=begin
|
@@ -31,6 +31,11 @@ module Neovim
|
|
31
31
|
See +:h nvim_tabpage_get_win()+
|
32
32
|
@return [Window]
|
33
33
|
|
34
|
+
@method set_win(win)
|
35
|
+
See +:h nvim_tabpage_set_win()+
|
36
|
+
@param [Window] win
|
37
|
+
@return [void]
|
38
|
+
|
34
39
|
@method get_number
|
35
40
|
See +:h nvim_tabpage_get_number()+
|
36
41
|
@return [Integer]
|
data/lib/neovim/version.rb
CHANGED
data/lib/neovim/window.rb
CHANGED
@@ -3,7 +3,7 @@ require "neovim/remote_object"
|
|
3
3
|
module Neovim
|
4
4
|
# Class representing an +nvim+ window.
|
5
5
|
#
|
6
|
-
# The methods documented here were generated using NVIM v0.
|
6
|
+
# The methods documented here were generated using NVIM v0.10.0
|
7
7
|
class Window < RemoteObject
|
8
8
|
# Get the buffer displayed in the window
|
9
9
|
#
|
@@ -171,6 +171,11 @@ module Neovim
|
|
171
171
|
@param [Integer] ns_id
|
172
172
|
@return [void]
|
173
173
|
|
174
|
+
@method text_height(opts)
|
175
|
+
See +:h nvim_win_text_height()+
|
176
|
+
@param [Hash] opts
|
177
|
+
@return [Hash]
|
178
|
+
|
174
179
|
=end
|
175
180
|
end
|
176
181
|
end
|
data/lib/neovim.rb
CHANGED
@@ -4,6 +4,7 @@ require "neovim/session"
|
|
4
4
|
require "neovim/event_loop"
|
5
5
|
require "neovim/executable"
|
6
6
|
require "neovim/logging"
|
7
|
+
require "neovim/remote_module"
|
7
8
|
require "neovim/version"
|
8
9
|
|
9
10
|
# The main entrypoint to the +Neovim+ gem. It allows you to connect to a
|
@@ -83,6 +84,14 @@ module Neovim
|
|
83
84
|
attach(EventLoop.child(argv))
|
84
85
|
end
|
85
86
|
|
87
|
+
# Start a remote module process with handlers defined in the config block.
|
88
|
+
# Blocks indefinitely to handle messages.
|
89
|
+
#
|
90
|
+
# @see RemoteModule::DSL
|
91
|
+
def self.start_remote(&block)
|
92
|
+
RemoteModule.from_config_block(&block).start
|
93
|
+
end
|
94
|
+
|
86
95
|
# Placeholder method for exposing the remote plugin DSL. This gets
|
87
96
|
# temporarily overwritten in +Host::Loader#load+.
|
88
97
|
#
|
data/script/ci/download_nvim.sh
CHANGED
@@ -7,9 +7,9 @@ set -eu
|
|
7
7
|
case "$(echo "$RUNNER_OS" | tr "[:upper:]" "[:lower:]")" in
|
8
8
|
macos)
|
9
9
|
wget -nv -P /tmp \
|
10
|
-
"https://github.com/neovim/neovim/releases/download/stable/nvim-macos.tar.gz"
|
11
|
-
tar -C /tmp -xzf /tmp/nvim-macos.tar.gz
|
12
|
-
mv /tmp/nvim-macos ./_nvim
|
10
|
+
"https://github.com/neovim/neovim/releases/download/stable/nvim-macos-x86_64.tar.gz"
|
11
|
+
tar -C /tmp -xzf /tmp/nvim-macos-x86_64.tar.gz
|
12
|
+
mv /tmp/nvim-macos-x86_64 ./_nvim
|
13
13
|
;;
|
14
14
|
linux)
|
15
15
|
mkdir -p _nvim/bin
|
data/script/run_acceptance.rb
CHANGED
@@ -21,7 +21,7 @@ env = {
|
|
21
21
|
"NVIM_RPLUGIN_MANIFEST" => manifest,
|
22
22
|
"THEMIS_VIM" => nvim,
|
23
23
|
"THEMIS_HOME" => themis_home,
|
24
|
-
"THEMIS_ARGS" => "-e
|
24
|
+
"THEMIS_ARGS" => "-e --headless -u #{vimrc}"
|
25
25
|
}
|
26
26
|
|
27
27
|
FileUtils.rm_f(manifest)
|
@@ -30,7 +30,7 @@ Dir.chdir(root) do
|
|
30
30
|
system(
|
31
31
|
env,
|
32
32
|
nvim,
|
33
|
-
"-e", "
|
33
|
+
"-e", "--headless",
|
34
34
|
"-u", vimrc,
|
35
35
|
"+UpdateRemotePlugins", "+qa!"
|
36
36
|
)
|
@@ -9,34 +9,18 @@ function! s:suite.before_each() abort
|
|
9
9
|
\ "v:val.client")
|
10
10
|
endfunction
|
11
11
|
|
12
|
-
function! s:suite.
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
endfunction
|
27
|
-
|
28
|
-
function! s:suite.get_rplugin_client_info() abort
|
29
|
-
let client_info = s:client_chans[0]
|
30
|
-
|
31
|
-
call s:expect(sort(keys(client_info))).to_equal(
|
32
|
-
\ ["attributes", "methods", "name", "type", "version"])
|
33
|
-
|
34
|
-
call s:expect(client_info.attributes).to_be_dict()
|
35
|
-
call s:expect(client_info.methods).to_equal({"specs": {"nargs": 1}, "poll": {}})
|
36
|
-
call s:expect(client_info.name).to_equal("ruby-rplugin-host")
|
37
|
-
call s:expect(client_info.type).to_equal("host")
|
38
|
-
|
39
|
-
call s:expect(client_info.version.major).to_be_number()
|
40
|
-
call s:expect(client_info.version.minor).to_be_number()
|
41
|
-
call s:expect(client_info.version.patch).to_be_number()
|
12
|
+
function! s:suite.get_client_info() abort
|
13
|
+
for client_info in s:client_chans
|
14
|
+
call s:expect(sort(keys(client_info))).to_equal(
|
15
|
+
\ ["attributes", "methods", "name", "type", "version"])
|
16
|
+
|
17
|
+
call s:expect(client_info.attributes).to_be_dict()
|
18
|
+
call s:expect(client_info.methods).to_equal({"specs": {"nargs": 1}, "poll": {}})
|
19
|
+
call s:expect(client_info.name).to_match("ruby-\\(script\\|rplugin\\)-host")
|
20
|
+
call s:expect(client_info.type).to_equal("host")
|
21
|
+
|
22
|
+
call s:expect(client_info.version.major).to_be_number()
|
23
|
+
call s:expect(client_info.version.minor).to_be_number()
|
24
|
+
call s:expect(client_info.version.patch).to_be_number()
|
25
|
+
endfor
|
42
26
|
endfunction
|
@@ -0,0 +1,13 @@
|
|
1
|
+
let s:suite = themis#suite("Remote module")
|
2
|
+
let s:expect = themis#helper("expect")
|
3
|
+
|
4
|
+
call themis#helper('command').with(s:)
|
5
|
+
|
6
|
+
function! s:suite.defines_commands() abort
|
7
|
+
RbSetVar set_from_rb_mod foobar
|
8
|
+
call s:expect(g:set_from_rb_mod).to_equal('foobar')
|
9
|
+
endfunction
|
10
|
+
|
11
|
+
function! s:suite.propagates_errors() abort
|
12
|
+
Throws /oops/ :RbWillRaise
|
13
|
+
endfunction
|
@@ -1,7 +1,12 @@
|
|
1
1
|
let s:lib_path = getcwd() . "/lib"
|
2
2
|
let s:exe_path = getcwd() . "/exe/neovim-ruby-host"
|
3
3
|
let g:acceptance_rtp = getcwd() . "/spec/acceptance/runtime"
|
4
|
-
|
4
|
+
|
5
|
+
if has("win32") || has("win64")
|
6
|
+
let g:ruby_host_prog = getcwd() . "/script/host_wrapper.bat"
|
7
|
+
else
|
8
|
+
let g:ruby_host_prog = getcwd() . "/script/host_wrapper.sh"
|
9
|
+
endif
|
5
10
|
|
6
11
|
ruby require "rspec/expectations"
|
7
12
|
ruby include ::RSpec::Matchers.dup
|
@@ -0,0 +1,23 @@
|
|
1
|
+
local chan
|
2
|
+
|
3
|
+
local function ensure_job()
|
4
|
+
if chan then
|
5
|
+
return chan
|
6
|
+
end
|
7
|
+
|
8
|
+
chan = vim.fn.jobstart({
|
9
|
+
'ruby',
|
10
|
+
'-I', 'lib',
|
11
|
+
'spec/acceptance/runtime/example_remote_module.rb',
|
12
|
+
}, { rpc = true })
|
13
|
+
|
14
|
+
return chan
|
15
|
+
end
|
16
|
+
|
17
|
+
vim.api.nvim_create_user_command('RbSetVar', function(args)
|
18
|
+
vim.fn.rpcrequest(ensure_job(), 'rb_set_var', args.fargs)
|
19
|
+
end, { nargs = '*' })
|
20
|
+
|
21
|
+
vim.api.nvim_create_user_command('RbWillRaise', function(args)
|
22
|
+
vim.fn.rpcrequest(ensure_job(), 'rb_will_raise', args.fargs)
|
23
|
+
end, { nargs = 0 })
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neovim
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Genco
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-06-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|
@@ -160,6 +160,8 @@ files:
|
|
160
160
|
- lib/neovim/plugin.rb
|
161
161
|
- lib/neovim/plugin/dsl.rb
|
162
162
|
- lib/neovim/plugin/handler.rb
|
163
|
+
- lib/neovim/remote_module.rb
|
164
|
+
- lib/neovim/remote_module/dsl.rb
|
163
165
|
- lib/neovim/remote_object.rb
|
164
166
|
- lib/neovim/ruby_provider.rb
|
165
167
|
- lib/neovim/ruby_provider/buffer_ext.rb
|
@@ -174,10 +176,13 @@ files:
|
|
174
176
|
- script/ci/download_nvim.sh
|
175
177
|
- script/dump_api.rb
|
176
178
|
- script/generate_docs.rb
|
179
|
+
- script/host_wrapper.bat
|
180
|
+
- script/host_wrapper.sh
|
177
181
|
- script/j2mp.rb
|
178
182
|
- script/mp2j.rb
|
179
183
|
- script/run_acceptance.rb
|
180
184
|
- spec/acceptance/client_info_spec.vim
|
185
|
+
- spec/acceptance/remote_module_spec.vim
|
181
186
|
- spec/acceptance/rplugin_autocmd_spec.vim
|
182
187
|
- spec/acceptance/rplugin_command_spec.vim
|
183
188
|
- spec/acceptance/rplugin_function_spec.vim
|
@@ -196,7 +201,9 @@ files:
|
|
196
201
|
- spec/acceptance/rubyfile/set_pwd_after.rb
|
197
202
|
- spec/acceptance/rubyfile/set_pwd_before.rb
|
198
203
|
- spec/acceptance/rubyfile_spec.vim
|
204
|
+
- spec/acceptance/runtime/example_remote_module.rb
|
199
205
|
- spec/acceptance/runtime/init.vim
|
206
|
+
- spec/acceptance/runtime/plugin/example_remote_module.lua
|
200
207
|
- spec/acceptance/runtime/rplugin/ruby/autocmds.rb
|
201
208
|
- spec/acceptance/runtime/rplugin/ruby/commands.rb
|
202
209
|
- spec/acceptance/runtime/rplugin/ruby/functions.rb
|
@@ -250,6 +257,7 @@ specification_version: 4
|
|
250
257
|
summary: A Ruby client for Neovim
|
251
258
|
test_files:
|
252
259
|
- spec/acceptance/client_info_spec.vim
|
260
|
+
- spec/acceptance/remote_module_spec.vim
|
253
261
|
- spec/acceptance/rplugin_autocmd_spec.vim
|
254
262
|
- spec/acceptance/rplugin_command_spec.vim
|
255
263
|
- spec/acceptance/rplugin_function_spec.vim
|
@@ -268,7 +276,9 @@ test_files:
|
|
268
276
|
- spec/acceptance/rubyfile/set_pwd_after.rb
|
269
277
|
- spec/acceptance/rubyfile/set_pwd_before.rb
|
270
278
|
- spec/acceptance/rubyfile_spec.vim
|
279
|
+
- spec/acceptance/runtime/example_remote_module.rb
|
271
280
|
- spec/acceptance/runtime/init.vim
|
281
|
+
- spec/acceptance/runtime/plugin/example_remote_module.lua
|
272
282
|
- spec/acceptance/runtime/rplugin/ruby/autocmds.rb
|
273
283
|
- spec/acceptance/runtime/rplugin/ruby/commands.rb
|
274
284
|
- spec/acceptance/runtime/rplugin/ruby/functions.rb
|