neovim 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+
3
+ cd "$(dirname "$0")/.."
4
+
5
+ exec ruby -I ./lib ./exe/neovim-ruby-host "$@"
@@ -8,7 +8,7 @@ ENV.delete("VIMRUNTIME")
8
8
  root = File.expand_path("..", __dir__)
9
9
  acceptance_root = File.join(root, "spec/acceptance")
10
10
  themis_rtp = File.join(acceptance_root, "runtime")
11
- themis_home = File.join(themis_rtp, "flavors/thinca_vim-themis")
11
+ themis_home = File.join(themis_rtp, "pack/flavors/start/thinca_vim-themis")
12
12
  manifest = File.join(themis_rtp, "rplugin_manifest.vim")
13
13
  vimrc = File.join(themis_rtp, "init.vim")
14
14
  nvim = ENV.fetch("NVIM_EXECUTABLE", "nvim")
@@ -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 -s --headless -u #{vimrc}"
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", "-s", "--headless",
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.get_script_host_client_info() abort
13
- let client_info = s:client_chans[1]
14
-
15
- call s:expect(sort(keys(client_info))).to_equal(
16
- \ ["attributes", "methods", "name", "type", "version"])
17
-
18
- call s:expect(client_info.attributes).to_be_dict()
19
- call s:expect(client_info.methods).to_equal({"specs": {"nargs": 1}, "poll": {}})
20
- call s:expect(client_info.name).to_equal("ruby-script-host")
21
- call s:expect(client_info.type).to_equal("host")
22
-
23
- call s:expect(client_info.version.major).to_be_number()
24
- call s:expect(client_info.version.minor).to_be_number()
25
- call s:expect(client_info.version.patch).to_be_number()
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
@@ -0,0 +1,11 @@
1
+ require "neovim"
2
+
3
+ Neovim.start_remote do |mod|
4
+ mod.register_handler("rb_set_var") do |nvim, name, val|
5
+ nvim.set_var(name, val.to_s)
6
+ end
7
+
8
+ mod.register_handler("rb_will_raise") do |nvim|
9
+ raise "oops"
10
+ end
11
+ end
@@ -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
- let g:ruby_host_prog = printf("ruby -I %s %s", s:lib_path, s:exe_path)
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.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Genco
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-09-10 00:00:00.000000000 Z
11
+ date: 2024-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
@@ -42,30 +42,30 @@ dependencies:
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '2.0'
47
+ version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '2.0'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pry
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '0.14'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '0.14'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pry-byebug
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -98,31 +98,31 @@ dependencies:
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '3.0'
103
+ version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '3.0'
110
+ version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: vim-flavor
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 2.2.2
117
+ version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: 2.2.2
125
- description:
124
+ version: '0'
125
+ description:
126
126
  email:
127
127
  - alexgenco@gmail.com
128
128
  executables:
@@ -135,11 +135,12 @@ files:
135
135
  - ".gitignore"
136
136
  - CHANGELOG.md
137
137
  - CODE_OF_CONDUCT.md
138
+ - Flavorfile
139
+ - Flavorfile.lock
138
140
  - Gemfile
139
141
  - LICENSE.txt
140
142
  - README.md
141
143
  - Rakefile
142
- - VimFlavor
143
144
  - exe/neovim-ruby-host
144
145
  - lib/neovim.rb
145
146
  - lib/neovim/api.rb
@@ -159,6 +160,8 @@ files:
159
160
  - lib/neovim/plugin.rb
160
161
  - lib/neovim/plugin/dsl.rb
161
162
  - lib/neovim/plugin/handler.rb
163
+ - lib/neovim/remote_module.rb
164
+ - lib/neovim/remote_module/dsl.rb
162
165
  - lib/neovim/remote_object.rb
163
166
  - lib/neovim/ruby_provider.rb
164
167
  - lib/neovim/ruby_provider/buffer_ext.rb
@@ -173,10 +176,13 @@ files:
173
176
  - script/ci/download_nvim.sh
174
177
  - script/dump_api.rb
175
178
  - script/generate_docs.rb
179
+ - script/host_wrapper.bat
180
+ - script/host_wrapper.sh
176
181
  - script/j2mp.rb
177
182
  - script/mp2j.rb
178
183
  - script/run_acceptance.rb
179
184
  - spec/acceptance/client_info_spec.vim
185
+ - spec/acceptance/remote_module_spec.vim
180
186
  - spec/acceptance/rplugin_autocmd_spec.vim
181
187
  - spec/acceptance/rplugin_command_spec.vim
182
188
  - spec/acceptance/rplugin_function_spec.vim
@@ -195,7 +201,9 @@ files:
195
201
  - spec/acceptance/rubyfile/set_pwd_after.rb
196
202
  - spec/acceptance/rubyfile/set_pwd_before.rb
197
203
  - spec/acceptance/rubyfile_spec.vim
204
+ - spec/acceptance/runtime/example_remote_module.rb
198
205
  - spec/acceptance/runtime/init.vim
206
+ - spec/acceptance/runtime/plugin/example_remote_module.lua
199
207
  - spec/acceptance/runtime/rplugin/ruby/autocmds.rb
200
208
  - spec/acceptance/runtime/rplugin/ruby/commands.rb
201
209
  - spec/acceptance/runtime/rplugin/ruby/functions.rb
@@ -228,7 +236,7 @@ homepage: https://github.com/neovim/neovim-ruby
228
236
  licenses:
229
237
  - MIT
230
238
  metadata: {}
231
- post_install_message:
239
+ post_install_message:
232
240
  rdoc_options: []
233
241
  require_paths:
234
242
  - lib
@@ -243,12 +251,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
243
251
  - !ruby/object:Gem::Version
244
252
  version: '0'
245
253
  requirements: []
246
- rubygems_version: 3.2.2
247
- signing_key:
254
+ rubygems_version: 3.3.7
255
+ signing_key:
248
256
  specification_version: 4
249
257
  summary: A Ruby client for Neovim
250
258
  test_files:
251
259
  - spec/acceptance/client_info_spec.vim
260
+ - spec/acceptance/remote_module_spec.vim
252
261
  - spec/acceptance/rplugin_autocmd_spec.vim
253
262
  - spec/acceptance/rplugin_command_spec.vim
254
263
  - spec/acceptance/rplugin_function_spec.vim
@@ -267,7 +276,9 @@ test_files:
267
276
  - spec/acceptance/rubyfile/set_pwd_after.rb
268
277
  - spec/acceptance/rubyfile/set_pwd_before.rb
269
278
  - spec/acceptance/rubyfile_spec.vim
279
+ - spec/acceptance/runtime/example_remote_module.rb
270
280
  - spec/acceptance/runtime/init.vim
281
+ - spec/acceptance/runtime/plugin/example_remote_module.lua
271
282
  - spec/acceptance/runtime/rplugin/ruby/autocmds.rb
272
283
  - spec/acceptance/runtime/rplugin/ruby/commands.rb
273
284
  - spec/acceptance/runtime/rplugin/ruby/functions.rb
File without changes