nvim 1.6.0 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dbd0024450444336d8516c543f5bf6b9ac1f0a6a08a8e342f03a413e20794bcd
4
- data.tar.gz: 5ecd7b84dccc752f82aaf303ad146e5b7462478bc8a58eb25f70fb9393b30e6f
3
+ metadata.gz: d91e5ad07b2fd0ea6dd1da251df0e55dad1312b3ac4fa585cae59658dbccf666
4
+ data.tar.gz: bde8ff51d7a22f70aca3c58f83051b32357f0d56603bdbd7ce209ce6acf94de9
5
5
  SHA512:
6
- metadata.gz: 5dfce6dc61d6c2910f8e1a273324682524246f92c9b7f9d62c8a6c9b915852b7d359b02435039105d6bcf811719a3f9e6a8579f8851f87e0c49e7f8b0182d389
7
- data.tar.gz: 1b58e82f140457815c0ff571aff1a209f591ff3f301269140685f0a5098d3efc315c318797fb22ea10d77c2ab34536f0c220a4ee6cc62c03a5da46a1150992c7
6
+ metadata.gz: c5d55983ed98e326fe1a5a6c15e764ac0a3aff858dadf3538c6edcee5339d7fb117b33984d80334d2fb18d7f8fbd505d89ca854aec09bbbf6513c07b5f9c48ee
7
+ data.tar.gz: c7dc22c69ddcb550b1d1a412963788b33f77337f5520ea87bc4bf2edabed162bcd59402e605eac6a46109c1953994024f88211c2d21af12efb9722e3eab36422
data/INFO.yaml CHANGED
@@ -3,7 +3,7 @@
3
3
  #
4
4
 
5
5
  nvim:
6
- version: 1.6.0
6
+ version: 1.6.1
7
7
  license: BSD-2-Clause+
8
8
  authors:
9
9
  - Bertram Scharpf
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
- let g:ruby_require = "neovim/tools/copy"
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/xxd"
424
+ require "neovim/foreign/nxxd"
425
425
  bn = $curbuf.get_name
426
426
  $vim.command :enew!
427
- File.open bn do |b| Xxd::Dump.new.run b do |l| $vim.put [l], "l", false, true end end
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
@@ -51,7 +51,7 @@ end
51
51
 
52
52
 
53
53
  task :diffdeps do
54
- %w(mplight).each { |gem|
54
+ %w(mplight nxxd).each { |gem|
55
55
  c = `gem contents #{gem}`
56
56
  unless $?.success? then
57
57
  puts "Gem #{gem} not installed. Cannot compare."
@@ -1,19 +1,20 @@
1
1
  #
2
- # neovim/foreign/xxd.rb -- Xxd reimplementation
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 "xxd"
8
+ require "nxxd"
9
9
  rescue LoadError
10
10
 
11
11
  # ----------------------------------------------------------------
12
12
  #
13
- # xxd.rb -- A Reimplementation of Xxd in plain Ruby
13
+ # nxxd.rb -- Hex Dump Tool
14
14
  #
15
15
 
16
- module Xxd
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
- r = nil
96
- pos = 0
97
- repeat = false
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*#/ then
101
- when /^\*/ then repeat = true
102
- else
103
- if (l.slice! /^(\h+):\s*/) then
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
- while pos + r.length < addr do
107
- yield r
108
- pos += r.length
109
- end
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
- row = []
127
- while (nib = l.slice! /^\h\h ?/) do
128
- row.push nib.to_i 0x10
129
- end
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.0",
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: "b2ddce4"
10
+ commit: "4e96338"
data/nvim.gemspec CHANGED
@@ -25,6 +25,7 @@ Gem::Specification.new do |spec|
25
25
  if false then
26
26
  spec.add_dependency "supplement", "~> 2.18"
27
27
  spec.add_dependency "mplight", "~> 1.0"
28
+ spec.add_dependency "nxxd", "~> 1.0"
28
29
  end
29
30
 
30
31
  end
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.0
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-01-26 00:00:00.000000000 Z
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