utils 0.63.0 → 0.65.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.
- checksums.yaml +4 -4
- data/.utilsrc +30 -0
- data/Rakefile +3 -2
- data/bin/changes +12 -35
- data/bin/code_comment +8 -4
- data/bin/commit_message +4 -6
- data/bin/probe +6 -18
- data/lib/utils/probe_server.rb +103 -47
- data/lib/utils/version.rb +1 -1
- data/lib/utils/xdg_config.rb +10 -0
- data/lib/utils.rb +1 -0
- data/tests/test_helper.rb +2 -0
- data/tests/utils_test.rb +11 -0
- data/utils.gemspec +11 -9
- metadata +32 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d1633f8d2d41b4f3498a2f8c25abd00d14800cba7d3266e3c95ee23f50c47e8
|
4
|
+
data.tar.gz: d928e826ea6a28690d62d7f7051c2424708230e859b787d7914472bfa315dda4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c80fbe8111a06467d7c02868e010e911c06785783364f1f3047b76f88e0f90a7f70a57b49375fb4351d332068fb04f5cc00c86884918d2477ea5837b6543b7e4
|
7
|
+
data.tar.gz: 9b46861f764339dc572741b124c574683d2cbd3f2144751f196c1a96bbe7d9a6115f9ac908b1c0ec22168c48a77253ecee005c75a13f1ad3712ab52adf80b18b
|
data/.utilsrc
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# vim: set ft=ruby:
|
2
|
+
|
3
|
+
search do
|
4
|
+
prune_dirs /\A(\.svn|\.git|\.terraform|CVS|tmp|coverage|corpus|pkg|\.yardoc)\z/
|
5
|
+
skip_files /(\A\.|\.sw[pon]\z|\.(log|fnm|jpg|jpeg|png|pdf|svg)\z|\Atags\z|~\z)/i
|
6
|
+
end
|
7
|
+
|
8
|
+
discover do
|
9
|
+
prune_dirs /\A(\.svn|\.git|\.terraform|\.yardoc|CVS|tmp|coverage|corpus|pkg|\.yardoc)\z/
|
10
|
+
skip_files /(\A\.|\.sw[pon]\z|\.log\z|~\z)/
|
11
|
+
index_expire_after 3_600
|
12
|
+
end
|
13
|
+
|
14
|
+
strip_spaces do
|
15
|
+
prune_dirs /\A(\..*|CVS|pkg|\.yardoc)\z/
|
16
|
+
skip_files /(\A\.|\.sw[pon]\z|\.log\z|~\z)/
|
17
|
+
end
|
18
|
+
|
19
|
+
probe do
|
20
|
+
test_framework :'test-unit'
|
21
|
+
end
|
22
|
+
|
23
|
+
ssh_tunnel do
|
24
|
+
terminal_multiplexer :tmux
|
25
|
+
login_session "/home/#{ENV['USER']}"
|
26
|
+
end
|
27
|
+
|
28
|
+
classify do
|
29
|
+
shift_path_by_default 1
|
30
|
+
end
|
data/Rakefile
CHANGED
@@ -19,7 +19,7 @@ GemHadar do
|
|
19
19
|
readme 'README.md'
|
20
20
|
licenses << 'GPL-2.0'
|
21
21
|
|
22
|
-
dependency '
|
22
|
+
dependency 'unix_socks'
|
23
23
|
dependency 'webrick'
|
24
24
|
dependency 'tins', '~> 1.14'
|
25
25
|
dependency 'term-ansicolor', '~> 1.11'
|
@@ -28,10 +28,11 @@ GemHadar do
|
|
28
28
|
dependency 'mize', '~> 0.6'
|
29
29
|
dependency 'search_ui', '~> 0.0'
|
30
30
|
dependency 'all_images', '~> 0.5.0'
|
31
|
-
dependency 'ollama-ruby'
|
31
|
+
dependency 'ollama-ruby', '~> 1.4.0'
|
32
32
|
dependency 'kramdown-ansi', '~> 0.0.1'
|
33
33
|
dependency 'simplecov'
|
34
34
|
dependency 'debug'
|
35
|
+
development_dependency 'test-unit'
|
35
36
|
|
36
37
|
install_library do
|
37
38
|
libdir = CONFIG["sitelibdir"]
|
data/bin/changes
CHANGED
@@ -3,6 +3,8 @@
|
|
3
3
|
require 'ollama'
|
4
4
|
include Ollama
|
5
5
|
require 'tins/xt'
|
6
|
+
require 'utils'
|
7
|
+
include Utils::XDGConfig
|
6
8
|
|
7
9
|
def x(cmd)
|
8
10
|
output = `#{cmd}`
|
@@ -43,48 +45,23 @@ def compute_change(range_from, range_to)
|
|
43
45
|
EOT
|
44
46
|
end
|
45
47
|
|
46
|
-
|
47
|
-
model = ENV.fetch('OLLAMA_MODEL', 'llama3.1')
|
48
|
+
config = xdg_config('changes')
|
48
49
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
- Summarize the changes in the following git log messages as bullet points.
|
56
|
-
- Don't mention the version of the change set
|
57
|
-
- Skip bullet points about version bumps.
|
58
|
-
- List significant changes as bullet points using markdown when applicable.
|
59
|
-
- Mark all names and values for variables, methods, functions, and
|
60
|
-
constants, you see in the messages as markdown code surrounded by
|
61
|
-
backtick characters.
|
62
|
-
- Mark all version numbers you see in the messages as markdown bold
|
63
|
-
surrounded by two asterisk characters.
|
64
|
-
- Don't refer to single commits by sha1 hash.
|
65
|
-
- Don't add information about changes you are not sure about.
|
66
|
-
- Don't output any additional chatty remarks, notes, introductions,
|
67
|
-
communications, etc.
|
68
|
-
|
69
|
-
#{log}
|
70
|
-
EOT
|
50
|
+
base_url = ENV['OLLAMA_URL'] || 'http://%s' % ENV.fetch('OLLAMA_HOST')
|
51
|
+
model = ENV.fetch('OLLAMA_MODEL', 'llama3.1')
|
52
|
+
system = File.read("#{config}/system.txt")
|
53
|
+
prompt = File.read("#{config}/prompt.txt") + "\n\n#{log}\n"
|
54
|
+
client_config = Client::Config.load_from_json("#{config}/client.json")
|
55
|
+
client_config.base_url = base_url
|
71
56
|
|
72
57
|
if ENV['DEBUG'].to_i == 1
|
73
58
|
STDERR.puts "system:\n#{system}"
|
74
59
|
STDERR.puts "prompt:\n#{prompt}"
|
75
60
|
end
|
76
61
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
temperature: 0,
|
81
|
-
#seed: 1337,
|
82
|
-
top_p: 1,
|
83
|
-
min_p: 0.1,
|
84
|
-
)
|
85
|
-
|
86
|
-
ollama = Client.new(base_url:, read_timeout: 120)
|
87
|
-
changes = ollama.generate(model:, system:, prompt:, options:, stream: false)
|
62
|
+
ollama = Client.configure_with(client_config)
|
63
|
+
options = Options.load_from_json "#{config}/options.json"
|
64
|
+
changes = ollama.generate(model:, system:, prompt:, options:, stream: false, think: false)
|
88
65
|
changes = changes.response.gsub(/\t/, ' ')
|
89
66
|
|
90
67
|
return <<~EOT
|
data/bin/code_comment
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require 'utils'
|
4
3
|
require 'ollama'
|
5
4
|
include Ollama
|
5
|
+
require 'utils'
|
6
|
+
include Utils::XDGConfig
|
6
7
|
|
7
8
|
def fetch_method(filename_linenumber)
|
8
9
|
result = ''
|
@@ -31,7 +32,7 @@ method_indent = method[/\A( *)/, 1].size
|
|
31
32
|
#file = fetch_file(filename_linenumber)
|
32
33
|
files = Dir['{lib,spec,test}/**/*.rb']
|
33
34
|
base_url = ENV['OLLAMA_URL'] || 'http://%s' % ENV.fetch('OLLAMA_HOST')
|
34
|
-
model = ENV.fetch('OLLAMA_MODEL', 'llama3.
|
35
|
+
model = ENV.fetch('OLLAMA_MODEL', 'llama3.1')
|
35
36
|
#file = File.read(file_name)
|
36
37
|
#call_sites = %x(cscope -L -3 "#{method_name}" $(find . -name '*.rb') | awk '{ print $1 ":" $3 }').lines.map(&:chomp).uniq
|
37
38
|
#methods = call_sites.map { fetch_method(_1) } * ?\n
|
@@ -95,7 +96,7 @@ EOT
|
|
95
96
|
system = nil
|
96
97
|
|
97
98
|
prompt = <<EOT
|
98
|
-
|
99
|
+
Look at this code to document it:
|
99
100
|
|
100
101
|
#{files.map { File.read(_1) } * ?\n}
|
101
102
|
|
@@ -167,6 +168,9 @@ if ENV['DEBUG'].to_i == 1
|
|
167
168
|
end
|
168
169
|
end
|
169
170
|
|
170
|
-
|
171
|
+
config = xdg_config('code_comment')
|
172
|
+
client_config = Client::Config.load_from_json "#{config}/client.json"
|
173
|
+
client_config.base_url = base_url
|
174
|
+
ollama = Client.configure_with(client_config)
|
171
175
|
response = ollama.generate(model:, system:, prompt:, options:, stream: false).response
|
172
176
|
puts response.gsub(/^/) { ' ' * method_indent }
|
data/bin/commit_message
CHANGED
@@ -1,11 +1,9 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
File.join(xdg, 'commit_message')
|
8
|
-
end
|
3
|
+
require 'utils'
|
4
|
+
include Utils::XDGConfig
|
5
|
+
|
6
|
+
config = xdg_config('commit_message')
|
9
7
|
|
10
8
|
branch = `git rev-parse --abbrev-ref HEAD`.chomp
|
11
9
|
exec 'ollama_cli', '-M', "#{config}/options.json", '-P', "branch=#{branch}",
|
data/bin/probe
CHANGED
@@ -5,7 +5,6 @@ require 'tins/lines_file'
|
|
5
5
|
include Tins::GO
|
6
6
|
require 'utils'
|
7
7
|
include Utils
|
8
|
-
require 'drb'
|
9
8
|
require 'shellwords'
|
10
9
|
|
11
10
|
def usage
|
@@ -19,7 +18,6 @@ def usage
|
|
19
18
|
-c start probe as a client
|
20
19
|
-C FOO[=BAR] set/get env variable on probe server
|
21
20
|
-l start probe as a server
|
22
|
-
-u URI use this DRb URI communication
|
23
21
|
-h display this help
|
24
22
|
|
25
23
|
Version is #{File.basename($0)} #{Utils::VERSION}.
|
@@ -39,25 +37,17 @@ end
|
|
39
37
|
|
40
38
|
def start_server
|
41
39
|
Thread.abort_on_exception = $DEBUG
|
42
|
-
|
43
|
-
begin
|
44
|
-
DRb.start_service
|
45
|
-
DRbObject.new_with_uri($uri).shutdown
|
46
|
-
rescue DRb::DRbConnError
|
47
|
-
end
|
48
|
-
|
49
|
-
Utils::ProbeServer.new($uri).start
|
40
|
+
Utils::ProbeServer.new.start
|
50
41
|
end
|
51
42
|
|
52
43
|
def connect_server
|
53
|
-
|
54
|
-
probe_server = DRbObject.new_with_uri($uri)
|
44
|
+
probe_client = ProbeClient.new
|
55
45
|
if setting = $opts[?C]
|
56
46
|
case setting
|
57
47
|
when /\A([^=]+)=([^=]+)\z/
|
58
|
-
|
48
|
+
puts probe_client.env[$1] = $2
|
59
49
|
when /\A([^=]+)\z/
|
60
|
-
puts
|
50
|
+
puts probe_client.env[$1]
|
61
51
|
else
|
62
52
|
usage
|
63
53
|
end
|
@@ -66,7 +56,7 @@ def connect_server
|
|
66
56
|
opts = $opts.subhash(*%w[n t]).each_with_object([]) { |(k, v), a|
|
67
57
|
v.full? and a.concat [ "-#{k}", v ]
|
68
58
|
}
|
69
|
-
|
59
|
+
probe_client.enqueue opts + $args
|
70
60
|
exit
|
71
61
|
end
|
72
62
|
end
|
@@ -80,11 +70,9 @@ if i = ARGV.index('--')
|
|
80
70
|
else
|
81
71
|
$args = ARGV.dup
|
82
72
|
end
|
83
|
-
$opts = go 'lct:n:
|
73
|
+
$opts = go 'lct:n:C:h', $args
|
84
74
|
$opts[?h] and usage
|
85
75
|
|
86
|
-
$uri = $opts[?u] || 'drbunix:probe.socket'
|
87
|
-
|
88
76
|
case
|
89
77
|
when $opts[?l]
|
90
78
|
start_server
|
data/lib/utils/probe_server.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'unix_socks'
|
1
2
|
require 'tins/xt'
|
2
3
|
require 'term/ansicolor'
|
3
4
|
class String
|
@@ -5,48 +6,91 @@ class String
|
|
5
6
|
end
|
6
7
|
|
7
8
|
module Utils
|
8
|
-
class
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
class ProcessJob
|
10
|
+
def initialize(args:, probe_server: nil)
|
11
|
+
@id = probe_server&.next_job_id
|
12
|
+
@args = Array(args)
|
13
|
+
end
|
14
|
+
|
15
|
+
attr_reader :id
|
16
|
+
|
17
|
+
attr_reader :args
|
18
|
+
|
19
|
+
attr_writer :ok
|
20
|
+
|
21
|
+
def type
|
22
|
+
'process_job'
|
23
|
+
end
|
24
|
+
|
25
|
+
def ok
|
26
|
+
case @ok
|
27
|
+
when false then 'n'
|
28
|
+
when true then 'y'
|
29
|
+
else '…'
|
13
30
|
end
|
31
|
+
end
|
14
32
|
|
15
|
-
|
33
|
+
def ok_colorize(string)
|
34
|
+
case @ok
|
35
|
+
when false then string.white.on_red
|
36
|
+
when true then string.black.on_green
|
37
|
+
else string
|
38
|
+
end
|
39
|
+
end
|
16
40
|
|
17
|
-
|
41
|
+
def inspect
|
42
|
+
ok_colorize("#{id} #{args.map { |a| a.include?(' ') ? a.inspect : a } * ' '}")
|
43
|
+
end
|
18
44
|
|
19
|
-
|
45
|
+
alias to_s inspect
|
20
46
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
47
|
+
def as_json(*)
|
48
|
+
{ type:, id:, args:, }
|
49
|
+
end
|
50
|
+
|
51
|
+
def to_json(*)
|
52
|
+
as_json.to_json(*)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
class ProbeClient
|
57
|
+
class EnvProxy
|
58
|
+
def initialize(server)
|
59
|
+
@server = server
|
27
60
|
end
|
28
61
|
|
29
|
-
def
|
30
|
-
|
31
|
-
|
32
|
-
when true then string.black.on_green
|
33
|
-
else string
|
34
|
-
end
|
62
|
+
def []=(key, value)
|
63
|
+
response = @server.transmit_with_response(type: 'set_env', key:, value:)
|
64
|
+
response.env
|
35
65
|
end
|
36
66
|
|
37
|
-
def
|
38
|
-
|
67
|
+
def [](key)
|
68
|
+
response = @server.transmit_with_response(type: 'get_env', key:)
|
69
|
+
response.env
|
39
70
|
end
|
40
71
|
|
41
|
-
|
72
|
+
attr_reader :env
|
73
|
+
end
|
74
|
+
|
75
|
+
def initialize
|
76
|
+
@server = UnixSocks::Server.new(socket_name: 'probe.sock', runtime_dir: Dir.pwd)
|
77
|
+
end
|
78
|
+
|
79
|
+
def env
|
80
|
+
EnvProxy.new(@server)
|
81
|
+
end
|
82
|
+
|
83
|
+
def enqueue(args)
|
84
|
+
@server.transmit({ type: 'process_job', args: })
|
42
85
|
end
|
86
|
+
end
|
43
87
|
|
44
|
-
|
45
|
-
|
46
|
-
@
|
47
|
-
@
|
88
|
+
class ProbeServer
|
89
|
+
def initialize
|
90
|
+
@server = UnixSocks::Server.new(socket_name: 'probe.sock', runtime_dir: Dir.pwd)
|
91
|
+
@history = [].freeze
|
92
|
+
@jobs_queue = Queue.new
|
48
93
|
@current_job_id = 0
|
49
|
-
Thread.new { work_loop }
|
50
94
|
end
|
51
95
|
|
52
96
|
def print(*msg)
|
@@ -56,10 +100,15 @@ module Utils
|
|
56
100
|
end
|
57
101
|
|
58
102
|
def start
|
59
|
-
output_message "Starting probe server listening to #{@
|
60
|
-
|
103
|
+
output_message "Starting probe server listening to #{@server.server_socket_path}.", type: :info
|
104
|
+
work_loop = Thread.new do
|
105
|
+
loop do
|
106
|
+
job = @jobs_queue.pop
|
107
|
+
run_job job
|
108
|
+
end
|
109
|
+
end
|
61
110
|
begin
|
62
|
-
|
111
|
+
receive_loop.join
|
63
112
|
rescue Interrupt
|
64
113
|
ARGV.clear << '-f'
|
65
114
|
output_message %{\nEntering interactive mode.}, type: :info
|
@@ -70,7 +119,8 @@ module Utils
|
|
70
119
|
ensure
|
71
120
|
$VERBOSE = old
|
72
121
|
end
|
73
|
-
|
122
|
+
@server.remove_socket_path
|
123
|
+
output_message "Quitting interactive mode, but still listening to #{@server.server_socket_path}.", type: :info
|
74
124
|
retry
|
75
125
|
end
|
76
126
|
end
|
@@ -91,17 +141,17 @@ module Utils
|
|
91
141
|
docs_size = docs.map { |a| a.first.size }.max
|
92
142
|
format = "%-#{docs_size}s %-3s %s"
|
93
143
|
output_message [
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
144
|
+
(format % %w[ command sho description ]).on_color(20).white
|
145
|
+
] << docs.map { |cmd, doc|
|
146
|
+
shortcut = shortcut_of(cmd) and shortcut = "(#{shortcut})"
|
147
|
+
format % [ cmd, shortcut, doc ]
|
148
|
+
}
|
99
149
|
end
|
100
150
|
|
101
|
-
doc 'Enqueue a new job with the argument array <
|
151
|
+
doc 'Enqueue a new job with the argument array <args>.'
|
102
152
|
shortcut :e
|
103
|
-
def job_enqueue(
|
104
|
-
job =
|
153
|
+
def job_enqueue(args)
|
154
|
+
job = ProcessJob.new(args:, probe_server: self)
|
105
155
|
output_message " → #{job.inspect} enqueued.", type: :info
|
106
156
|
@jobs_queue.push job
|
107
157
|
end
|
@@ -118,7 +168,7 @@ module Utils
|
|
118
168
|
doc 'Repeat the job with <job_id> or the last, it will be assigned a new id, though.'
|
119
169
|
shortcut :r
|
120
170
|
def job_repeat(job_id = @history.last)
|
121
|
-
|
171
|
+
ProcessJob === job_id and job_id = job_id.id
|
122
172
|
if old_job = @history.find { |job| job.id == job_id }
|
123
173
|
job_enqueue old_job.args
|
124
174
|
true
|
@@ -209,15 +259,21 @@ module Utils
|
|
209
259
|
message << " and failed with exit status #{$?.exitstatus}!"
|
210
260
|
output_message message, type: :failure
|
211
261
|
end
|
212
|
-
@history += [
|
262
|
+
@history += [ job.freeze ]
|
213
263
|
@history.freeze
|
214
|
-
@job = nil
|
215
264
|
end
|
216
265
|
|
217
|
-
def
|
218
|
-
|
219
|
-
|
220
|
-
|
266
|
+
def receive_loop
|
267
|
+
@server.receive_in_background do |job|
|
268
|
+
case job.type
|
269
|
+
when 'process_job'
|
270
|
+
enqueue job.args
|
271
|
+
when 'set_env'
|
272
|
+
env[job.key] = job.value
|
273
|
+
job.respond(env: env[job.key])
|
274
|
+
when 'get_env'
|
275
|
+
job.respond(env: env[job.key])
|
276
|
+
end
|
221
277
|
end
|
222
278
|
end
|
223
279
|
|
data/lib/utils/version.rb
CHANGED
data/lib/utils.rb
CHANGED
data/tests/utils_test.rb
ADDED
data/utils.gemspec
CHANGED
@@ -1,29 +1,31 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: utils 0.
|
2
|
+
# stub: utils 0.65.0 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "utils".freeze
|
6
|
-
s.version = "0.
|
6
|
+
s.version = "0.65.0".freeze
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib".freeze]
|
10
10
|
s.authors = ["Florian Frank".freeze]
|
11
|
-
s.date = "
|
11
|
+
s.date = "1980-01-02"
|
12
12
|
s.description = "This ruby gem provides some useful command line utilities".freeze
|
13
13
|
s.email = "flori@ping.de".freeze
|
14
14
|
s.executables = ["ascii7".freeze, "blameline".freeze, "changes".freeze, "classify".freeze, "code_comment".freeze, "commit_message".freeze, "create_cstags".freeze, "create_tags".freeze, "discover".freeze, "edit".freeze, "edit_wait".freeze, "enum".freeze, "git-empty".freeze, "git-versions".freeze, "json_check".freeze, "long_lines".freeze, "myex".freeze, "number_files".freeze, "on_change".freeze, "path".freeze, "print_method".freeze, "probe".freeze, "rd2md".freeze, "search".freeze, "sedit".freeze, "serve".freeze, "ssh-tunnel".freeze, "strip_spaces".freeze, "sync_dir".freeze, "untest".freeze, "utils-utilsrc".freeze, "vcf2alias".freeze, "yaml_check".freeze]
|
15
|
-
s.extra_rdoc_files = ["README.md".freeze, "lib/utils.rb".freeze, "lib/utils/config_file.rb".freeze, "lib/utils/editor.rb".freeze, "lib/utils/finder.rb".freeze, "lib/utils/grepper.rb".freeze, "lib/utils/irb.rb".freeze, "lib/utils/line_blamer.rb".freeze, "lib/utils/line_formatter.rb".freeze, "lib/utils/md5.rb".freeze, "lib/utils/patterns.rb".freeze, "lib/utils/probe_server.rb".freeze, "lib/utils/ssh_tunnel_specification.rb".freeze, "lib/utils/version.rb".freeze, "lib/utils/xt/source_location_extension.rb".freeze]
|
16
|
-
s.files = [".github/dependabot.yml".freeze, ".github/workflows/codeql-analysis.yml".freeze, "COPYING".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "bin/ascii7".freeze, "bin/blameline".freeze, "bin/changes".freeze, "bin/classify".freeze, "bin/code_comment".freeze, "bin/commit_message".freeze, "bin/create_cstags".freeze, "bin/create_tags".freeze, "bin/discover".freeze, "bin/edit".freeze, "bin/edit_wait".freeze, "bin/enum".freeze, "bin/git-empty".freeze, "bin/git-versions".freeze, "bin/json_check".freeze, "bin/long_lines".freeze, "bin/myex".freeze, "bin/number_files".freeze, "bin/on_change".freeze, "bin/path".freeze, "bin/print_method".freeze, "bin/probe".freeze, "bin/rd2md".freeze, "bin/search".freeze, "bin/sedit".freeze, "bin/serve".freeze, "bin/ssh-tunnel".freeze, "bin/strip_spaces".freeze, "bin/sync_dir".freeze, "bin/untest".freeze, "bin/utils-utilsrc".freeze, "bin/vcf2alias".freeze, "bin/yaml_check".freeze, "lib/utils.rb".freeze, "lib/utils/config_file.rb".freeze, "lib/utils/editor.rb".freeze, "lib/utils/finder.rb".freeze, "lib/utils/grepper.rb".freeze, "lib/utils/irb.rb".freeze, "lib/utils/line_blamer.rb".freeze, "lib/utils/line_formatter.rb".freeze, "lib/utils/md5.rb".freeze, "lib/utils/patterns.rb".freeze, "lib/utils/probe_server.rb".freeze, "lib/utils/ssh_tunnel_specification.rb".freeze, "lib/utils/version.rb".freeze, "lib/utils/xt/source_location_extension.rb".freeze, "utils.gemspec".freeze]
|
15
|
+
s.extra_rdoc_files = ["README.md".freeze, "lib/utils.rb".freeze, "lib/utils/config_file.rb".freeze, "lib/utils/editor.rb".freeze, "lib/utils/finder.rb".freeze, "lib/utils/grepper.rb".freeze, "lib/utils/irb.rb".freeze, "lib/utils/line_blamer.rb".freeze, "lib/utils/line_formatter.rb".freeze, "lib/utils/md5.rb".freeze, "lib/utils/patterns.rb".freeze, "lib/utils/probe_server.rb".freeze, "lib/utils/ssh_tunnel_specification.rb".freeze, "lib/utils/version.rb".freeze, "lib/utils/xdg_config.rb".freeze, "lib/utils/xt/source_location_extension.rb".freeze]
|
16
|
+
s.files = [".github/dependabot.yml".freeze, ".github/workflows/codeql-analysis.yml".freeze, ".utilsrc".freeze, "COPYING".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "bin/ascii7".freeze, "bin/blameline".freeze, "bin/changes".freeze, "bin/classify".freeze, "bin/code_comment".freeze, "bin/commit_message".freeze, "bin/create_cstags".freeze, "bin/create_tags".freeze, "bin/discover".freeze, "bin/edit".freeze, "bin/edit_wait".freeze, "bin/enum".freeze, "bin/git-empty".freeze, "bin/git-versions".freeze, "bin/json_check".freeze, "bin/long_lines".freeze, "bin/myex".freeze, "bin/number_files".freeze, "bin/on_change".freeze, "bin/path".freeze, "bin/print_method".freeze, "bin/probe".freeze, "bin/rd2md".freeze, "bin/search".freeze, "bin/sedit".freeze, "bin/serve".freeze, "bin/ssh-tunnel".freeze, "bin/strip_spaces".freeze, "bin/sync_dir".freeze, "bin/untest".freeze, "bin/utils-utilsrc".freeze, "bin/vcf2alias".freeze, "bin/yaml_check".freeze, "lib/utils.rb".freeze, "lib/utils/config_file.rb".freeze, "lib/utils/editor.rb".freeze, "lib/utils/finder.rb".freeze, "lib/utils/grepper.rb".freeze, "lib/utils/irb.rb".freeze, "lib/utils/line_blamer.rb".freeze, "lib/utils/line_formatter.rb".freeze, "lib/utils/md5.rb".freeze, "lib/utils/patterns.rb".freeze, "lib/utils/probe_server.rb".freeze, "lib/utils/ssh_tunnel_specification.rb".freeze, "lib/utils/version.rb".freeze, "lib/utils/xdg_config.rb".freeze, "lib/utils/xt/source_location_extension.rb".freeze, "tests/test_helper.rb".freeze, "tests/utils_test.rb".freeze, "utils.gemspec".freeze]
|
17
17
|
s.homepage = "http://github.com/flori/utils".freeze
|
18
18
|
s.licenses = ["GPL-2.0".freeze]
|
19
19
|
s.rdoc_options = ["--title".freeze, "Utils - Some useful command line utilities".freeze, "--main".freeze, "README.md".freeze]
|
20
|
-
s.rubygems_version = "3.6.
|
20
|
+
s.rubygems_version = "3.6.9".freeze
|
21
21
|
s.summary = "Some useful command line utilities".freeze
|
22
|
+
s.test_files = ["tests/test_helper.rb".freeze, "tests/utils_test.rb".freeze]
|
22
23
|
|
23
24
|
s.specification_version = 4
|
24
25
|
|
25
|
-
s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.
|
26
|
-
s.
|
26
|
+
s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.20".freeze])
|
27
|
+
s.add_development_dependency(%q<test-unit>.freeze, [">= 0".freeze])
|
28
|
+
s.add_runtime_dependency(%q<unix_socks>.freeze, [">= 0".freeze])
|
27
29
|
s.add_runtime_dependency(%q<webrick>.freeze, [">= 0".freeze])
|
28
30
|
s.add_runtime_dependency(%q<tins>.freeze, ["~> 1.14".freeze])
|
29
31
|
s.add_runtime_dependency(%q<term-ansicolor>.freeze, ["~> 1.11".freeze])
|
@@ -32,7 +34,7 @@ Gem::Specification.new do |s|
|
|
32
34
|
s.add_runtime_dependency(%q<mize>.freeze, ["~> 0.6".freeze])
|
33
35
|
s.add_runtime_dependency(%q<search_ui>.freeze, ["~> 0.0".freeze])
|
34
36
|
s.add_runtime_dependency(%q<all_images>.freeze, ["~> 0.5.0".freeze])
|
35
|
-
s.add_runtime_dependency(%q<ollama-ruby>.freeze, ["
|
37
|
+
s.add_runtime_dependency(%q<ollama-ruby>.freeze, ["~> 1.4.0".freeze])
|
36
38
|
s.add_runtime_dependency(%q<kramdown-ansi>.freeze, ["~> 0.0.1".freeze])
|
37
39
|
s.add_runtime_dependency(%q<simplecov>.freeze, [">= 0".freeze])
|
38
40
|
s.add_runtime_dependency(%q<debug>.freeze, [">= 0".freeze])
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.65.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Frank
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: gem_hadar
|
@@ -15,16 +15,30 @@ dependencies:
|
|
15
15
|
requirements:
|
16
16
|
- - "~>"
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: '1.
|
18
|
+
version: '1.20'
|
19
19
|
type: :development
|
20
20
|
prerelease: false
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
22
22
|
requirements:
|
23
23
|
- - "~>"
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: '1.
|
25
|
+
version: '1.20'
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
|
-
name:
|
27
|
+
name: test-unit
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: unix_socks
|
28
42
|
requirement: !ruby/object:Gem::Requirement
|
29
43
|
requirements:
|
30
44
|
- - ">="
|
@@ -153,16 +167,16 @@ dependencies:
|
|
153
167
|
name: ollama-ruby
|
154
168
|
requirement: !ruby/object:Gem::Requirement
|
155
169
|
requirements:
|
156
|
-
- - "
|
170
|
+
- - "~>"
|
157
171
|
- !ruby/object:Gem::Version
|
158
|
-
version:
|
172
|
+
version: 1.4.0
|
159
173
|
type: :runtime
|
160
174
|
prerelease: false
|
161
175
|
version_requirements: !ruby/object:Gem::Requirement
|
162
176
|
requirements:
|
163
|
-
- - "
|
177
|
+
- - "~>"
|
164
178
|
- !ruby/object:Gem::Version
|
165
|
-
version:
|
179
|
+
version: 1.4.0
|
166
180
|
- !ruby/object:Gem::Dependency
|
167
181
|
name: kramdown-ansi
|
168
182
|
requirement: !ruby/object:Gem::Requirement
|
@@ -257,10 +271,12 @@ extra_rdoc_files:
|
|
257
271
|
- lib/utils/probe_server.rb
|
258
272
|
- lib/utils/ssh_tunnel_specification.rb
|
259
273
|
- lib/utils/version.rb
|
274
|
+
- lib/utils/xdg_config.rb
|
260
275
|
- lib/utils/xt/source_location_extension.rb
|
261
276
|
files:
|
262
277
|
- ".github/dependabot.yml"
|
263
278
|
- ".github/workflows/codeql-analysis.yml"
|
279
|
+
- ".utilsrc"
|
264
280
|
- COPYING
|
265
281
|
- Gemfile
|
266
282
|
- README.md
|
@@ -311,7 +327,10 @@ files:
|
|
311
327
|
- lib/utils/probe_server.rb
|
312
328
|
- lib/utils/ssh_tunnel_specification.rb
|
313
329
|
- lib/utils/version.rb
|
330
|
+
- lib/utils/xdg_config.rb
|
314
331
|
- lib/utils/xt/source_location_extension.rb
|
332
|
+
- tests/test_helper.rb
|
333
|
+
- tests/utils_test.rb
|
315
334
|
- utils.gemspec
|
316
335
|
homepage: http://github.com/flori/utils
|
317
336
|
licenses:
|
@@ -335,7 +354,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
335
354
|
- !ruby/object:Gem::Version
|
336
355
|
version: '0'
|
337
356
|
requirements: []
|
338
|
-
rubygems_version: 3.6.
|
357
|
+
rubygems_version: 3.6.9
|
339
358
|
specification_version: 4
|
340
359
|
summary: Some useful command line utilities
|
341
|
-
test_files:
|
360
|
+
test_files:
|
361
|
+
- tests/test_helper.rb
|
362
|
+
- tests/utils_test.rb
|