nvim 1.6.0 → 1.6.1
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/README.md +3 -3
- data/Rakefile +1 -1
- data/lib/neovim/foreign/{xxd.rb → nxxd.rb} +58 -37
- data/lib/neovim/info.rb +2 -2
- data/nvim.gemspec +1 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d91e5ad07b2fd0ea6dd1da251df0e55dad1312b3ac4fa585cae59658dbccf666
|
4
|
+
data.tar.gz: bde8ff51d7a22f70aca3c58f83051b32357f0d56603bdbd7ce209ce6acf94de9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5d55983ed98e326fe1a5a6c15e764ac0a3aff858dadf3538c6edcee5339d7fb117b33984d80334d2fb18d7f8fbd505d89ca854aec09bbbf6513c07b5f9c48ee
|
7
|
+
data.tar.gz: c7dc22c69ddcb550b1d1a412963788b33f77337f5520ea87bc4bf2edabed162bcd59402e605eac6a46109c1953994024f88211c2d21af12efb9722e3eab36422
|
data/INFO.yaml
CHANGED
data/README.md
CHANGED
@@ -411,7 +411,7 @@ main:1:004> \q!!
|
|
411
411
|
Put text into an X selection or a TMux register.
|
412
412
|
|
413
413
|
```vim
|
414
|
-
|
414
|
+
rubyfile <neovim/tools/copy>
|
415
415
|
'<,'>ruby xsel $lines
|
416
416
|
'<,'>ruby xsel! $lines
|
417
417
|
'<,'>ruby tmuxbuf $lines
|
@@ -421,10 +421,10 @@ Make a hex dump.
|
|
421
421
|
|
422
422
|
```vim
|
423
423
|
ruby <<EOT
|
424
|
-
require "neovim/foreign/
|
424
|
+
require "neovim/foreign/nxxd"
|
425
425
|
bn = $curbuf.get_name
|
426
426
|
$vim.command :enew!
|
427
|
-
File.open bn do |b|
|
427
|
+
File.open bn do |b| Nxxd::Dump.new.run b do |l| $vim.put [l], "l", false, true end end
|
428
428
|
EOT
|
429
429
|
```
|
430
430
|
|
data/Rakefile
CHANGED
@@ -1,19 +1,20 @@
|
|
1
1
|
#
|
2
|
-
# neovim/foreign/
|
2
|
+
# neovim/foreign/nxxd.rb -- Hex Dump Tool
|
3
3
|
#
|
4
4
|
|
5
5
|
# The purpose of this is simply to reduce dependencies.
|
6
6
|
|
7
7
|
begin
|
8
|
-
require "
|
8
|
+
require "nxxd"
|
9
9
|
rescue LoadError
|
10
10
|
|
11
11
|
# ----------------------------------------------------------------
|
12
12
|
#
|
13
|
-
#
|
13
|
+
# nxxd.rb -- Hex Dump Tool
|
14
14
|
#
|
15
15
|
|
16
|
-
|
16
|
+
|
17
|
+
module Nxxd
|
17
18
|
|
18
19
|
module ReadChunks
|
19
20
|
|
@@ -87,53 +88,44 @@ module Xxd
|
|
87
88
|
addr += b.size
|
88
89
|
end
|
89
90
|
yield @addr_fmt % addr
|
91
|
+
nil
|
90
92
|
end
|
91
93
|
|
94
|
+
|
92
95
|
class <<self
|
93
96
|
|
94
|
-
def reverse input
|
95
|
-
|
96
|
-
|
97
|
-
|
97
|
+
def reverse input, output = nil
|
98
|
+
output ||= ""
|
99
|
+
o = String === output ? (WriteChunksString.new output) : output
|
100
|
+
o.set_encoding Encoding::ASCII_8BIT
|
101
|
+
r, repeat = nil, false
|
98
102
|
input.each_line { |l|
|
103
|
+
l.chomp!
|
99
104
|
case l
|
100
|
-
when /^\s
|
101
|
-
when /^\*/
|
102
|
-
|
103
|
-
|
105
|
+
when /^\s*(?:#|$)/ then nil
|
106
|
+
when /^\*/ then repeat = true
|
107
|
+
when /^(?:(\h+):)?\s*((?:\h\h ?)*)/ then
|
108
|
+
addr, nibs = $~.captures
|
109
|
+
if addr then
|
104
110
|
addr = $1.to_i 0x10
|
105
111
|
if repeat then
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
if pos < addr then
|
111
|
-
yield r[ 0, addr - pos]
|
112
|
-
pos = addr
|
112
|
+
loop do
|
113
|
+
s = addr - o.tell
|
114
|
+
break if s <= 0
|
115
|
+
o.write s >= r.length ? r : r[ 0, s]
|
113
116
|
end
|
114
117
|
repeat = false
|
115
118
|
else
|
116
|
-
if pos < addr then
|
117
|
-
r = ([0].pack "C*") * (addr - pos)
|
118
|
-
yield r
|
119
|
-
pos = addr
|
120
|
-
elsif pos > addr then
|
121
|
-
yield nil, addr
|
122
|
-
pos = addr
|
123
|
-
end
|
124
119
|
end
|
120
|
+
o.seek addr
|
125
121
|
end
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
if row.any? then
|
131
|
-
r = row.pack "C*"
|
132
|
-
yield r
|
133
|
-
pos += r.length
|
134
|
-
end
|
122
|
+
r = (nibs.scan /\h\h/).map { |x| x.to_i 0x10 }.pack "C*"
|
123
|
+
o.write r
|
124
|
+
else
|
125
|
+
raise "Uninterpretable hex dump: #{l.chomp}"
|
135
126
|
end
|
136
127
|
}
|
128
|
+
output
|
137
129
|
end
|
138
130
|
|
139
131
|
end
|
@@ -161,12 +153,13 @@ module Xxd
|
|
161
153
|
def run input, &block
|
162
154
|
if @varname then
|
163
155
|
yield "unsigned char #@varname[] = {"
|
164
|
-
yield "};"
|
165
156
|
len = run_plain input, &block
|
157
|
+
yield "};"
|
166
158
|
yield "unsigned int #@varname\_len = %d;" % len
|
167
159
|
else
|
168
160
|
run_plain input, &block
|
169
161
|
end
|
162
|
+
nil
|
170
163
|
end
|
171
164
|
|
172
165
|
private
|
@@ -187,6 +180,34 @@ module Xxd
|
|
187
180
|
|
188
181
|
end
|
189
182
|
|
183
|
+
class WriteChunksString
|
184
|
+
def initialize str
|
185
|
+
@str = str
|
186
|
+
end
|
187
|
+
def set_encoding enc
|
188
|
+
@str.force_encoding enc
|
189
|
+
end
|
190
|
+
def tell ; @pos || @str.length ; end
|
191
|
+
def seek pos
|
192
|
+
s = pos - @str.length
|
193
|
+
if s >= 0 then
|
194
|
+
s.times { @str << "\0".b }
|
195
|
+
else
|
196
|
+
@pos = pos
|
197
|
+
end
|
198
|
+
end
|
199
|
+
def write b
|
200
|
+
if @pos then
|
201
|
+
l = b.length
|
202
|
+
@str[ @pos, l] = b
|
203
|
+
@pos += l
|
204
|
+
@pos = nil if @pos >= @str.length
|
205
|
+
else
|
206
|
+
@str << b
|
207
|
+
end
|
208
|
+
end
|
209
|
+
end
|
210
|
+
|
190
211
|
end
|
191
212
|
|
192
213
|
# ----------------------------------------------------------------
|
data/lib/neovim/info.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
require "neovim/meta.rb"
|
2
2
|
Neovim::INFO = Neovim::Meta.new "nvim",
|
3
|
-
version: "1.6.
|
3
|
+
version: "1.6.1",
|
4
4
|
license: "BSD-2-Clause+",
|
5
5
|
authors: ["Bertram Scharpf"],
|
6
6
|
email: "software@bertram-scharpf.de",
|
7
7
|
summary: "Yet another Ruby client for Neovim",
|
8
8
|
description: "A simple Ruby client for Neovim.\nClean code, minimal dependecies, no frills, no wokeness.",
|
9
9
|
homepage: "https://github.com/BertramScharpf/ruby-nvim",
|
10
|
-
commit: "
|
10
|
+
commit: "4e96338"
|
data/nvim.gemspec
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nvim
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bertram Scharpf
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-02-02 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
email: software@bertram-scharpf.de
|
13
13
|
executables:
|
@@ -46,9 +46,9 @@ files:
|
|
46
46
|
- lib/neovim/connection.rb
|
47
47
|
- lib/neovim/foreign/mplight.rb
|
48
48
|
- lib/neovim/foreign/mplight/bufferio.rb
|
49
|
+
- lib/neovim/foreign/nxxd.rb
|
49
50
|
- lib/neovim/foreign/supplement.rb
|
50
51
|
- lib/neovim/foreign/supplement/socket.rb
|
51
|
-
- lib/neovim/foreign/xxd.rb
|
52
52
|
- lib/neovim/handler.rb
|
53
53
|
- lib/neovim/host.rb
|
54
54
|
- lib/neovim/info.rb
|