nvim 1.13.4 → 1.14
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/INFO.yaml +1 -1
- data/lib/neovim/client.rb +47 -29
- data/lib/neovim/info.rb +1 -1
- data/lib/neovim/remote_object.rb +64 -37
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dedacdadce72f297ba984b9e6ad211d23e3a990a5b6a456a88ebda1c2c84e4fa
|
|
4
|
+
data.tar.gz: 8b4608fb8ba6d587e69422d37f5b172179a901cb5015bfbd7320c21b1c9f2045
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 50d5f48e393e1465668efe51e21910841edcd91b94fa2c106f7ea6d665bd598ba85d4753eeb19a574ebda966e75004570f237f5f709f5f8aa3e9efc681a01c22
|
|
7
|
+
data.tar.gz: a24faf04fd4a18ce729cf3fc6b397d729f3ea5022fafeff49169bc38105549fc149a84deb63683cb21e9ce6bfb90608a3ca288774f0a168f0d9326f81841e8c3
|
data/INFO.yaml
CHANGED
data/lib/neovim/client.rb
CHANGED
|
@@ -129,11 +129,11 @@ module Neovim
|
|
|
129
129
|
when Buffer then @client, @buffer = client.client, client.index
|
|
130
130
|
else @client, @buffer = client, 0
|
|
131
131
|
end
|
|
132
|
-
@
|
|
132
|
+
@first, @last = range.begin, range.end
|
|
133
133
|
end
|
|
134
134
|
|
|
135
135
|
def to_s
|
|
136
|
-
(@client.buf_get_lines @buffer, @
|
|
136
|
+
(@client.buf_get_lines @buffer, @first-1, @last, true).join $/
|
|
137
137
|
end
|
|
138
138
|
|
|
139
139
|
def method_missing sym, *args, **kwargs, &block
|
|
@@ -141,46 +141,64 @@ module Neovim
|
|
|
141
141
|
end
|
|
142
142
|
|
|
143
143
|
def each
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
144
|
+
if block_given? then
|
|
145
|
+
begin
|
|
146
|
+
@i = @first
|
|
147
|
+
while @i <= @last do
|
|
148
|
+
l, = @client.buf_get_lines @buffer, @i-1, @i, true
|
|
149
|
+
yield l, @i
|
|
150
|
+
@i += 1
|
|
151
|
+
end
|
|
152
|
+
ensure
|
|
153
|
+
@i = nil
|
|
154
|
+
end
|
|
155
|
+
else
|
|
156
|
+
Enumerator.new { |y| each { |l,i| y.yield l, i } }
|
|
149
157
|
end
|
|
150
|
-
ensure
|
|
151
|
-
@i = nil
|
|
152
158
|
end
|
|
153
159
|
alias each_line each
|
|
154
160
|
|
|
155
|
-
def
|
|
156
|
-
|
|
157
|
-
|
|
161
|
+
def map!
|
|
162
|
+
if block_given? then
|
|
163
|
+
each do |l|
|
|
164
|
+
m = yield l, @i
|
|
165
|
+
if m != l then
|
|
166
|
+
r = Neovim.result_lines m
|
|
167
|
+
@client.buf_set_lines @buffer, @i-1, @i, true, r
|
|
168
|
+
inc = r.length - 1
|
|
169
|
+
@i += inc
|
|
170
|
+
@last += inc
|
|
171
|
+
end
|
|
172
|
+
end
|
|
173
|
+
else
|
|
174
|
+
Enumerator.new { |y| map! { |l,i| y.yield l, i } }
|
|
158
175
|
end
|
|
159
176
|
end
|
|
177
|
+
alias collect! map!
|
|
160
178
|
|
|
161
|
-
def
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
@inc = r.length
|
|
170
|
-
@last += @inc-1
|
|
179
|
+
def reject!
|
|
180
|
+
if block_given? then
|
|
181
|
+
each do |l|
|
|
182
|
+
if yield l, @i then
|
|
183
|
+
@client.buf_set_lines @buffer, @i-1, @i, true, []
|
|
184
|
+
@i -= 1
|
|
185
|
+
@last -= 1
|
|
186
|
+
end
|
|
171
187
|
end
|
|
188
|
+
else
|
|
189
|
+
Enumerator.new { |y| reject! { |l,i| y.yield l, i } }
|
|
172
190
|
end
|
|
173
191
|
end
|
|
192
|
+
alias delete_if reject!
|
|
174
193
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
when nil then []
|
|
181
|
-
else obj.to_s.scan /^.*$/
|
|
194
|
+
def select!
|
|
195
|
+
if block_given? then
|
|
196
|
+
reject! { |l,i| not (yield l, i) }
|
|
197
|
+
else
|
|
198
|
+
Enumerator.new { |y| select! { |l,i| y.yield l, i } }
|
|
182
199
|
end
|
|
183
200
|
end
|
|
201
|
+
alias filter! select!
|
|
184
202
|
|
|
185
203
|
end
|
|
186
204
|
|
data/lib/neovim/info.rb
CHANGED
data/lib/neovim/remote_object.rb
CHANGED
|
@@ -147,7 +147,7 @@ module Neovim
|
|
|
147
147
|
|
|
148
148
|
def []= pos = nil, len = nil, str
|
|
149
149
|
line_indices pos, len do |fst,lst|
|
|
150
|
-
set_lines fst, lst, false, (
|
|
150
|
+
set_lines fst, lst, false, (Neovim.result_lines str)
|
|
151
151
|
end
|
|
152
152
|
self
|
|
153
153
|
end
|
|
@@ -193,36 +193,60 @@ module Neovim
|
|
|
193
193
|
include Enumerable
|
|
194
194
|
|
|
195
195
|
def each pos = nil, len = nil, &block
|
|
196
|
-
|
|
197
|
-
|
|
196
|
+
if block_given? then
|
|
197
|
+
iter_chunks pos, len do |l|
|
|
198
|
+
l.each &block
|
|
199
|
+
end
|
|
200
|
+
else
|
|
201
|
+
Enumerator.new { |y| each { |x,i| y.yield x, i } }
|
|
198
202
|
end
|
|
199
203
|
end
|
|
200
204
|
|
|
201
205
|
def map! pos = nil, len = nil, &block
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
206
|
+
if block_given? then
|
|
207
|
+
iter_chunks pos, len do |l|
|
|
208
|
+
n = l.length
|
|
209
|
+
m = l.map &block
|
|
210
|
+
if m != l then
|
|
211
|
+
r = Neovim.result_lines m
|
|
212
|
+
set_lines @fst, @fst+n, true, r
|
|
213
|
+
inc = r.length - n
|
|
214
|
+
@fst += inc
|
|
215
|
+
@lst += inc
|
|
216
|
+
end
|
|
217
|
+
end
|
|
218
|
+
else
|
|
219
|
+
Enumerator.new { |y| map! { |x,i| y.yield x, i } }
|
|
205
220
|
end
|
|
206
221
|
end
|
|
222
|
+
alias collect! map!
|
|
207
223
|
|
|
208
|
-
def
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
224
|
+
def reject! pos = nil, len = nil, &block
|
|
225
|
+
if block_given? then
|
|
226
|
+
iter_chunks pos, len do |l|
|
|
227
|
+
n = l.length
|
|
228
|
+
l.reject! &block
|
|
229
|
+
if l.length < n then
|
|
230
|
+
set_lines @fst, @fst+n, true, l
|
|
231
|
+
inc = l.length - n
|
|
232
|
+
@fst += inc
|
|
233
|
+
@lst += inc
|
|
217
234
|
end
|
|
218
235
|
end
|
|
236
|
+
else
|
|
237
|
+
Enumerator.new { |y| map! { |x,i| y.yield x, i } }
|
|
219
238
|
end
|
|
220
239
|
end
|
|
240
|
+
alias delete_if reject!
|
|
221
241
|
|
|
222
|
-
def
|
|
223
|
-
|
|
242
|
+
def select!
|
|
243
|
+
if block_given? then
|
|
244
|
+
reject! { |l| not (yield l) }
|
|
245
|
+
else
|
|
246
|
+
Enumerator.new { |y| select! { |l| y.yield l } }
|
|
247
|
+
end
|
|
224
248
|
end
|
|
225
|
-
|
|
249
|
+
alias filter! select!
|
|
226
250
|
|
|
227
251
|
# Don't run into `method_missing`.
|
|
228
252
|
def get_lines fst, lst, strict ; call_obj :get_lines, fst, lst, strict ; end
|
|
@@ -262,32 +286,22 @@ module Neovim
|
|
|
262
286
|
end
|
|
263
287
|
end
|
|
264
288
|
|
|
265
|
-
@
|
|
289
|
+
@chunk_length = 1024
|
|
266
290
|
class <<self
|
|
267
|
-
attr_accessor :
|
|
291
|
+
attr_accessor :chunk_length
|
|
268
292
|
end
|
|
269
293
|
|
|
270
294
|
def iter_chunks pos, len
|
|
271
295
|
line_indices_positive pos, len do |fst,lst|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
yield fst, nxt
|
|
278
|
-
fst = nxt
|
|
296
|
+
@fst, @lst = fst, lst
|
|
297
|
+
while @fst < @lst do
|
|
298
|
+
l = get_lines @fst, @fst+self.class.chunk_length, false
|
|
299
|
+
yield l
|
|
300
|
+
@fst += self.class.chunk_length
|
|
279
301
|
end
|
|
280
302
|
end
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
def str_lines str
|
|
284
|
-
if Array === str then
|
|
285
|
-
str
|
|
286
|
-
elsif str.nil? then
|
|
287
|
-
[]
|
|
288
|
-
else
|
|
289
|
-
str.lines.each { |l| l.chomp! }
|
|
290
|
-
end
|
|
303
|
+
ensure
|
|
304
|
+
@fst = @lst = nil
|
|
291
305
|
end
|
|
292
306
|
|
|
293
307
|
end
|
|
@@ -330,5 +344,18 @@ module Neovim
|
|
|
330
344
|
|
|
331
345
|
end
|
|
332
346
|
|
|
347
|
+
|
|
348
|
+
class <<self
|
|
349
|
+
|
|
350
|
+
def result_lines obj
|
|
351
|
+
case obj
|
|
352
|
+
when Enumerable then obj.inject [] do |s,l| s.push *(result_lines l) end
|
|
353
|
+
when nil then []
|
|
354
|
+
else obj.to_s.scan /^.*$/
|
|
355
|
+
end
|
|
356
|
+
end
|
|
357
|
+
|
|
358
|
+
end
|
|
359
|
+
|
|
333
360
|
end
|
|
334
361
|
|