neovim 0.0.2 → 0.0.3
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.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/CHANGELOG.md +6 -0
- data/Gemfile +6 -0
- data/README.md +7 -7
- data/bin/neovim-ruby-host +7 -1
- data/lib/neovim.rb +1 -1
- data/lib/neovim/buffer.rb +74 -0
- data/lib/neovim/client.rb +2 -0
- data/lib/neovim/current.rb +3 -1
- data/lib/neovim/event_loop.rb +1 -1
- data/lib/neovim/host.rb +24 -9
- data/lib/neovim/object.rb +0 -4
- data/lib/neovim/session.rb +1 -1
- data/lib/neovim/tabpage.rb +6 -0
- data/lib/neovim/version.rb +1 -1
- data/lib/neovim/window.rb +39 -0
- data/neovim.gemspec +4 -3
- data/spec/acceptance/neovim-ruby-host_spec.rb +41 -40
- data/spec/helper.rb +1 -1
- data/spec/neovim/buffer_spec.rb +59 -0
- data/spec/neovim/host_spec.rb +1 -2
- data/spec/neovim/object_spec.rb +3 -0
- data/spec/neovim/session_spec.rb +7 -3
- data/spec/neovim/window_spec.rb +41 -0
- metadata +35 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 39cfc5e3df7a8ab166fc8b036f9bb73dee269d39
|
4
|
+
data.tar.gz: 2ffff11255346e889b896afb1ec90444553c0472
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 442348e1633ac14d7185fabb38be72f1df180893b87db118609e265e4f059b4153c1b08aec61b74b031d5a79ef8aa4e4db151316629ecf164931fdb9645ada89
|
7
|
+
data.tar.gz: b01ba2a5a77b93d8c59481d293602df43574b7724d0bda3fa384fa4ea2f23b2bab51a1aa8539173c2243d756990b6b831d54784d7c709756474974f3cb74d204
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -37,7 +37,7 @@ require "neovim"
|
|
37
37
|
client = Neovim.attach_unix("/tmp/nvim.sock")
|
38
38
|
```
|
39
39
|
|
40
|
-
The interface
|
40
|
+
The client's interface is generated at runtime from the `vim_get_api_info` RPC call. For now, you can refer to the Node client's auto-generated [API description](https://github.com/neovim/node-client/blob/master/index.d.ts). Note that methods will be in `snake_case` rather than `camelCase`.
|
41
41
|
|
42
42
|
The `neovim-ruby-host` executable can be used to spawn Ruby plugins via the `rpcstart` command. A plugin can be defined like this:
|
43
43
|
|
@@ -60,16 +60,16 @@ Neovim.plugin do |plug|
|
|
60
60
|
end
|
61
61
|
```
|
62
62
|
|
63
|
-
|
63
|
+
You can start this plugin via the `rpcstart` nvim function. The resulting channel ID can be used to send requests and notifications to the plugin.
|
64
|
+
|
64
65
|
```viml
|
65
|
-
let
|
66
|
-
let result " # => 3
|
66
|
+
let host = rpcstart("neovim-ruby-host", ["./my_plugin.rb"])
|
67
67
|
|
68
|
-
|
69
|
-
"
|
68
|
+
let result = rpcrequest(host, "Add", 1, 2) " result is set to 3
|
69
|
+
call rpcnotify(host, "SetLine", "Foo") " current line is set to 'Foo'
|
70
70
|
```
|
71
71
|
|
72
|
-
Plugin functionality is very limited right now. Besides `command`, the plugin DSL exposes the `function` and `autocmd` directives, however they are functionally identical to `command`. Their purpose is to define a manifest that nvim can load via the `UpdateRemotePlugins` command, which will generate the actual `command`, `function`, and `autocmd` definitions. This piece has not yet been implemented.
|
72
|
+
Plugin functionality is very limited right now. Besides `command`, the plugin DSL exposes the `function` and `autocmd` directives, however they are functionally almost identical to `command`. Their purpose is to define a manifest that nvim can load via the `UpdateRemotePlugins` command, which will generate the actual `command`, `function`, and `autocmd` definitions. This piece has not yet been implemented.
|
73
73
|
|
74
74
|
## Contributing
|
75
75
|
|
data/bin/neovim-ruby-host
CHANGED
data/lib/neovim.rb
CHANGED
@@ -0,0 +1,74 @@
|
|
1
|
+
require "neovim/object"
|
2
|
+
|
3
|
+
module Neovim
|
4
|
+
class Buffer < Neovim::Object
|
5
|
+
def lines
|
6
|
+
@lines ||= Lines.new(self)
|
7
|
+
end
|
8
|
+
|
9
|
+
def lines=(arr)
|
10
|
+
lines[0..-1] = arr
|
11
|
+
end
|
12
|
+
|
13
|
+
class Lines
|
14
|
+
include Enumerable
|
15
|
+
|
16
|
+
def initialize(buffer)
|
17
|
+
@buffer = buffer
|
18
|
+
end
|
19
|
+
|
20
|
+
def ==(other)
|
21
|
+
case other
|
22
|
+
when Array
|
23
|
+
to_a == other
|
24
|
+
else
|
25
|
+
super
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def to_a
|
30
|
+
self[0..-1]
|
31
|
+
end
|
32
|
+
|
33
|
+
def each(&block)
|
34
|
+
to_a.each(&block)
|
35
|
+
end
|
36
|
+
|
37
|
+
def [](idx, len=nil)
|
38
|
+
case idx
|
39
|
+
when Range
|
40
|
+
@buffer.get_line_slice(idx.begin, idx.end, true, !idx.exclude_end?)
|
41
|
+
else
|
42
|
+
if len
|
43
|
+
@buffer.get_line_slice(idx, idx + len, true, false)
|
44
|
+
else
|
45
|
+
@buffer.get_line(idx)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
alias_method :slice, :[]
|
50
|
+
|
51
|
+
def []=(*args)
|
52
|
+
*target, val = args
|
53
|
+
idx, len = target
|
54
|
+
|
55
|
+
case idx
|
56
|
+
when Range
|
57
|
+
@buffer.set_line_slice(
|
58
|
+
idx.begin,
|
59
|
+
idx.end,
|
60
|
+
true,
|
61
|
+
!idx.exclude_end?,
|
62
|
+
val
|
63
|
+
)
|
64
|
+
else
|
65
|
+
if len
|
66
|
+
@buffer.set_line_slice(idx, idx + len, true, false, val)
|
67
|
+
else
|
68
|
+
@buffer.set_line(idx, val)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
data/lib/neovim/client.rb
CHANGED
data/lib/neovim/current.rb
CHANGED
data/lib/neovim/event_loop.rb
CHANGED
data/lib/neovim/host.rb
CHANGED
@@ -22,15 +22,12 @@ module Neovim
|
|
22
22
|
def initialize(plugins)
|
23
23
|
@plugins = plugins
|
24
24
|
@handlers = compile_handlers(plugins)
|
25
|
+
@event_loop = EventLoop.stdio
|
26
|
+
@msgpack_stream = MsgpackStream.new(@event_loop)
|
27
|
+
@async_session = AsyncSession.new(@msgpack_stream)
|
25
28
|
end
|
26
29
|
|
27
30
|
def run
|
28
|
-
event_loop = EventLoop.stdio
|
29
|
-
msgpack_stream = MsgpackStream.new(event_loop)
|
30
|
-
async_session = AsyncSession.new(msgpack_stream)
|
31
|
-
session = Session.new(async_session)
|
32
|
-
client = Client.new(session)
|
33
|
-
|
34
31
|
notification_callback = Proc.new do |notif|
|
35
32
|
@handlers[:notification][notif.method_name].call(client, notif)
|
36
33
|
end
|
@@ -39,17 +36,35 @@ module Neovim
|
|
39
36
|
@handlers[:request][request.method_name].call(client, request)
|
40
37
|
end
|
41
38
|
|
42
|
-
async_session.run(request_callback, notification_callback)
|
39
|
+
@async_session.run(request_callback, notification_callback)
|
43
40
|
end
|
44
41
|
|
45
42
|
private
|
46
43
|
|
44
|
+
def client
|
45
|
+
@client ||= Client.new(session)
|
46
|
+
end
|
47
|
+
|
48
|
+
def session
|
49
|
+
@session ||= Session.new(@async_session)
|
50
|
+
end
|
51
|
+
|
47
52
|
def compile_handlers(plugins)
|
53
|
+
default_req_handler = Proc.new do |_, request|
|
54
|
+
request.error("Unknown request #{request.method_name.inspect}")
|
55
|
+
end
|
56
|
+
|
57
|
+
default_ntf_handler = Proc.new {}
|
58
|
+
|
48
59
|
base = {
|
49
|
-
:request => Hash.new(
|
50
|
-
:notification => Hash.new(
|
60
|
+
:request => Hash.new(default_req_handler),
|
61
|
+
:notification => Hash.new(default_ntf_handler)
|
51
62
|
}
|
52
63
|
|
64
|
+
base[:request][:poll] = lambda do |_, request|
|
65
|
+
request.respond("ok")
|
66
|
+
end
|
67
|
+
|
53
68
|
plugins.inject(base) do |handlers, plugin|
|
54
69
|
plugin.specs.each do |spec|
|
55
70
|
if spec[:sync]
|
data/lib/neovim/object.rb
CHANGED
data/lib/neovim/session.rb
CHANGED
data/lib/neovim/version.rb
CHANGED
@@ -0,0 +1,39 @@
|
|
1
|
+
require "neovim/object"
|
2
|
+
|
3
|
+
module Neovim
|
4
|
+
class Window < Neovim::Object
|
5
|
+
def cursor
|
6
|
+
@cursor ||= Cursor.new(self)
|
7
|
+
end
|
8
|
+
|
9
|
+
class Cursor
|
10
|
+
def initialize(window)
|
11
|
+
@window = window
|
12
|
+
end
|
13
|
+
|
14
|
+
def coordinates
|
15
|
+
@window.get_cursor
|
16
|
+
end
|
17
|
+
|
18
|
+
def coordinates=(coords)
|
19
|
+
@window.set_cursor(coords)
|
20
|
+
end
|
21
|
+
|
22
|
+
def line
|
23
|
+
coordinates[0]
|
24
|
+
end
|
25
|
+
|
26
|
+
def line=(n)
|
27
|
+
self.coordinates = [n, column]
|
28
|
+
end
|
29
|
+
|
30
|
+
def column
|
31
|
+
coordinates[1]
|
32
|
+
end
|
33
|
+
|
34
|
+
def column=(n)
|
35
|
+
self.coordinates = [line, n]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/neovim.gemspec
CHANGED
@@ -17,10 +17,11 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^spec/})
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
|
-
spec.add_dependency "msgpack", "0.7
|
20
|
+
spec.add_dependency "msgpack", "~> 0.7"
|
21
21
|
|
22
22
|
spec.add_development_dependency "bundler"
|
23
23
|
spec.add_development_dependency "rake"
|
24
|
-
spec.add_development_dependency "
|
25
|
-
spec.add_development_dependency "coveralls"
|
24
|
+
spec.add_development_dependency "pry"
|
25
|
+
spec.add_development_dependency "coveralls"
|
26
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
26
27
|
end
|
@@ -1,57 +1,58 @@
|
|
1
1
|
require "helper"
|
2
|
-
require "
|
2
|
+
require "tmpdir"
|
3
3
|
|
4
4
|
RSpec.describe "neovim-ruby-host" do
|
5
|
-
let(:lib_path) { File.expand_path("../../../lib", __FILE__) }
|
6
|
-
let(:bin_path) { File.expand_path("../../../bin/neovim-ruby-host", __FILE__) }
|
7
|
-
let(:nvim_path) { File.expand_path("../../../vendor/neovim/build/bin/nvim", __FILE__) }
|
8
|
-
|
9
5
|
specify do
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
x
|
6
|
+
Dir.mktmpdir do |pwd|
|
7
|
+
Dir.chdir(pwd) do
|
8
|
+
File.write("./plugin1.rb", <<-RUBY)
|
9
|
+
Neovim.plugin do |plug|
|
10
|
+
plug.command(:SyncAdd, :args => 2, :sync => true) do |nvim, x, y|
|
11
|
+
x + y
|
12
|
+
end
|
15
13
|
end
|
16
|
-
|
17
|
-
RUBY
|
18
|
-
f.path
|
19
|
-
end
|
14
|
+
RUBY
|
20
15
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
16
|
+
File.write("./plugin2.rb", <<-RUBY)
|
17
|
+
Neovim.plugin do |plug|
|
18
|
+
plug.command(:AsyncSetLine, :args => 1) do |nvim, str|
|
19
|
+
nvim.current.line = str
|
20
|
+
end
|
26
21
|
end
|
27
|
-
|
28
|
-
RUBY
|
29
|
-
f.path
|
30
|
-
end
|
22
|
+
RUBY
|
31
23
|
|
32
|
-
|
33
|
-
host_nvim = Neovim.attach_child(["--headless", "-u", "NONE", "-N", "-n"])
|
24
|
+
nvim = Neovim.attach_child(["--headless", "-u", "NONE", "-N", "-n"])
|
34
25
|
|
35
|
-
|
36
|
-
|
37
|
-
|
26
|
+
# Start the remote host
|
27
|
+
host_exe = File.expand_path("../../../bin/neovim-ruby-host", __FILE__)
|
28
|
+
nvim.command(%{let host = rpcstart("#{host_exe}", ["./plugin1.rb", "./plugin2.rb"])})
|
38
29
|
|
39
|
-
|
40
|
-
|
30
|
+
# Send a "poll" request
|
31
|
+
expect(nvim.eval(%{rpcrequest(host, "poll")})).to eq("ok")
|
41
32
|
|
42
|
-
|
43
|
-
|
44
|
-
host_nvim.command("normal o")
|
33
|
+
# Make a request to the synchronous SyncAdd method and store the result
|
34
|
+
nvim.command(%{let result = rpcrequest(host, "SyncAdd", 1, 2)})
|
45
35
|
|
46
|
-
|
47
|
-
|
36
|
+
# Write the result to the buffer
|
37
|
+
nvim.command("put =result")
|
38
|
+
nvim.command("normal o")
|
48
39
|
|
49
|
-
|
50
|
-
|
40
|
+
# Set the current line via the AsyncSetLine method
|
41
|
+
nvim.command(%{call rpcnotify(host, "AsyncSetLine", "foo")})
|
51
42
|
|
52
|
-
|
53
|
-
|
43
|
+
# Make an unknown notification
|
44
|
+
expect {
|
45
|
+
nvim.command(%{call rpcnotify(host, "Unknown")})
|
46
|
+
}.not_to raise_error
|
54
47
|
|
55
|
-
|
48
|
+
# Make an unknown request
|
49
|
+
expect {
|
50
|
+
nvim.command(%{call rpcrequest(host, "Unknown")})
|
51
|
+
}.to raise_error(ArgumentError, /unknown request/i)
|
52
|
+
|
53
|
+
# Assert the contents of the buffer
|
54
|
+
expect(nvim.current.buffer.lines).to eq(["", "3", "foo"])
|
55
|
+
end
|
56
|
+
end
|
56
57
|
end
|
57
58
|
end
|
data/spec/helper.rb
CHANGED
@@ -0,0 +1,59 @@
|
|
1
|
+
require "helper"
|
2
|
+
|
3
|
+
module Neovim
|
4
|
+
RSpec.describe Buffer do
|
5
|
+
let(:client) { Neovim.attach_child(["--headless", "-n", "-u", "NONE"]) }
|
6
|
+
let(:buffer) { client.current.buffer }
|
7
|
+
|
8
|
+
describe "#lines" do
|
9
|
+
before do
|
10
|
+
client.command("normal i1")
|
11
|
+
client.command("normal o2")
|
12
|
+
client.command("normal o3")
|
13
|
+
end
|
14
|
+
|
15
|
+
it "returns the buffer's lines as an array" do
|
16
|
+
expect(buffer.lines).to eq(["1", "2", "3"])
|
17
|
+
end
|
18
|
+
|
19
|
+
it "can be indexed into" do
|
20
|
+
expect(buffer.lines[1]).to eq("2")
|
21
|
+
end
|
22
|
+
|
23
|
+
it "can be sliced with a length" do
|
24
|
+
expect(buffer.lines[0, 2]).to eq(["1", "2"])
|
25
|
+
end
|
26
|
+
|
27
|
+
it "can be sliced with a range" do
|
28
|
+
expect(buffer.lines[0..1]).to eq(["1", "2"])
|
29
|
+
end
|
30
|
+
|
31
|
+
it "can be updated at an index" do
|
32
|
+
buffer.lines[0] = "foo"
|
33
|
+
expect(buffer.lines).to eq(["foo", "2", "3"])
|
34
|
+
end
|
35
|
+
|
36
|
+
it "can be updated with a length" do
|
37
|
+
buffer.lines[0, 2] = ["foo"]
|
38
|
+
expect(buffer.lines).to eq(["foo", "3"])
|
39
|
+
end
|
40
|
+
|
41
|
+
it "can be updated with a range" do
|
42
|
+
buffer.lines[0..1] = ["foo"]
|
43
|
+
expect(buffer.lines).to eq(["foo", "3"])
|
44
|
+
end
|
45
|
+
|
46
|
+
it "exposes the Enumerable interface" do
|
47
|
+
succ_lines = buffer.lines.collect(&:succ)
|
48
|
+
expect(succ_lines).to eq(["2", "3", "4"])
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
describe "#lines=" do
|
53
|
+
it "updates the buffers lines" do
|
54
|
+
buffer.lines = ["one", "two"]
|
55
|
+
expect(buffer.lines).to eq(["one", "two"])
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
data/spec/neovim/host_spec.rb
CHANGED
@@ -40,8 +40,6 @@ module Neovim
|
|
40
40
|
plug.command(:Async, :nargs => 2, &async_cb)
|
41
41
|
end
|
42
42
|
|
43
|
-
host = Host.new([plugin])
|
44
|
-
|
45
43
|
mock_async_session = double(:async_session, :request => nil)
|
46
44
|
expect(AsyncSession).to receive(:new) { mock_async_session }
|
47
45
|
|
@@ -73,6 +71,7 @@ module Neovim
|
|
73
71
|
not_cb.call(mock_notification)
|
74
72
|
end
|
75
73
|
|
74
|
+
host = Host.new([plugin])
|
76
75
|
host.run
|
77
76
|
end
|
78
77
|
end
|
data/spec/neovim/object_spec.rb
CHANGED
data/spec/neovim/session_spec.rb
CHANGED
@@ -9,14 +9,18 @@ module Neovim
|
|
9
9
|
Session.new(async)
|
10
10
|
end
|
11
11
|
|
12
|
-
it "
|
13
|
-
expect(session.request(:vim_strwidth, "foobar")).to
|
12
|
+
it "supports functions with async=false" do
|
13
|
+
expect(session.request(:vim_strwidth, "foobar")).to be(6)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "supports functions with async=true" do
|
17
|
+
expect(session.request(:vim_input, "jk")).to be(2)
|
14
18
|
end
|
15
19
|
|
16
20
|
it "raises an exception when there are errors" do
|
17
21
|
expect {
|
18
22
|
session.request(:vim_strwidth, "too", "many")
|
19
|
-
}.to raise_error(
|
23
|
+
}.to raise_error(/wrong number of arguments/i)
|
20
24
|
end
|
21
25
|
|
22
26
|
describe "#api_methods_for_prefix" do
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require "helper"
|
2
|
+
|
3
|
+
module Neovim
|
4
|
+
RSpec.describe Window do
|
5
|
+
let(:client) { Neovim.attach_child(["--headless", "-n", "-u", "NONE"]) }
|
6
|
+
let(:window) { client.current.window }
|
7
|
+
|
8
|
+
before do
|
9
|
+
client.command("normal 3Oabc")
|
10
|
+
client.command("normal gg")
|
11
|
+
end
|
12
|
+
|
13
|
+
describe "#cursor" do
|
14
|
+
it "moves line-wise" do
|
15
|
+
expect {
|
16
|
+
window.cursor.line += 1
|
17
|
+
}.to change { window.cursor.coordinates }.from([1, 0]).to([2, 0])
|
18
|
+
|
19
|
+
expect {
|
20
|
+
window.cursor.line -= 1
|
21
|
+
}.to change { window.cursor.coordinates }.from([2, 0]).to([1, 0])
|
22
|
+
end
|
23
|
+
|
24
|
+
it "moves column-wise" do
|
25
|
+
expect {
|
26
|
+
window.cursor.column += 1
|
27
|
+
}.to change { window.cursor.coordinates }.from([1, 0]).to([1, 1])
|
28
|
+
|
29
|
+
expect {
|
30
|
+
window.cursor.column -= 1
|
31
|
+
}.to change { window.cursor.coordinates }.from([1, 1]).to([1, 0])
|
32
|
+
end
|
33
|
+
|
34
|
+
it "moves to an absolute position" do
|
35
|
+
expect {
|
36
|
+
window.cursor.coordinates = [1, 1]
|
37
|
+
}.to change { window.cursor.coordinates }.to([1, 1])
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neovim
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Genco
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.7
|
19
|
+
version: '0.7'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.7
|
26
|
+
version: '0.7'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,33 +53,47 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: pry
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '0'
|
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: '
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: coveralls
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
87
|
- - "~>"
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0
|
89
|
+
version: '3.0'
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
94
|
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0
|
96
|
+
version: '3.0'
|
83
97
|
description:
|
84
98
|
email:
|
85
99
|
- alexgenco@gmail.com
|
@@ -101,6 +115,7 @@ files:
|
|
101
115
|
- lib/neovim.rb
|
102
116
|
- lib/neovim/api_info.rb
|
103
117
|
- lib/neovim/async_session.rb
|
118
|
+
- lib/neovim/buffer.rb
|
104
119
|
- lib/neovim/client.rb
|
105
120
|
- lib/neovim/current.rb
|
106
121
|
- lib/neovim/event_loop.rb
|
@@ -111,11 +126,14 @@ files:
|
|
111
126
|
- lib/neovim/plugin.rb
|
112
127
|
- lib/neovim/request.rb
|
113
128
|
- lib/neovim/session.rb
|
129
|
+
- lib/neovim/tabpage.rb
|
114
130
|
- lib/neovim/version.rb
|
131
|
+
- lib/neovim/window.rb
|
115
132
|
- neovim.gemspec
|
116
133
|
- spec/acceptance/neovim-ruby-host_spec.rb
|
117
134
|
- spec/helper.rb
|
118
135
|
- spec/neovim/async_session_spec.rb
|
136
|
+
- spec/neovim/buffer_spec.rb
|
119
137
|
- spec/neovim/client_spec.rb
|
120
138
|
- spec/neovim/current_spec.rb
|
121
139
|
- spec/neovim/event_loop_spec.rb
|
@@ -124,6 +142,7 @@ files:
|
|
124
142
|
- spec/neovim/object_spec.rb
|
125
143
|
- spec/neovim/plugin_spec.rb
|
126
144
|
- spec/neovim/session_spec.rb
|
145
|
+
- spec/neovim/window_spec.rb
|
127
146
|
- spec/neovim_spec.rb
|
128
147
|
homepage: https://github.com/alexgenco/neovim-ruby
|
129
148
|
licenses:
|
@@ -145,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
164
|
version: '0'
|
146
165
|
requirements: []
|
147
166
|
rubyforge_project:
|
148
|
-
rubygems_version: 2.4.
|
167
|
+
rubygems_version: 2.4.5
|
149
168
|
signing_key:
|
150
169
|
specification_version: 4
|
151
170
|
summary: A Ruby client for Neovim
|
@@ -153,6 +172,7 @@ test_files:
|
|
153
172
|
- spec/acceptance/neovim-ruby-host_spec.rb
|
154
173
|
- spec/helper.rb
|
155
174
|
- spec/neovim/async_session_spec.rb
|
175
|
+
- spec/neovim/buffer_spec.rb
|
156
176
|
- spec/neovim/client_spec.rb
|
157
177
|
- spec/neovim/current_spec.rb
|
158
178
|
- spec/neovim/event_loop_spec.rb
|
@@ -161,4 +181,5 @@ test_files:
|
|
161
181
|
- spec/neovim/object_spec.rb
|
162
182
|
- spec/neovim/plugin_spec.rb
|
163
183
|
- spec/neovim/session_spec.rb
|
184
|
+
- spec/neovim/window_spec.rb
|
164
185
|
- spec/neovim_spec.rb
|