utils 0.34.0 → 0.36.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/bin/discover +8 -3
- data/bin/search +16 -6
- data/lib/utils/version.rb +1 -1
- data/utils.gemspec +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ba7d9a5d2f90097b79382fce03e1896767030b54cf497a9660ec41fd64ff84b0
|
|
4
|
+
data.tar.gz: d71a031ff72850f73f9ca0d29b42f45583044910a9c87c75a3860d2318d0567e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 11cb9e1b968778dda0b0267bde2002c4a53e41da829a6411cd26d92aeb9978c804f3949d4dfc422feceaa526d644fbb624cd284a60e4cbde04bc21e6eb82270a
|
|
7
|
+
data.tar.gz: d562c45af8b3f7a099dca7057f54508ecb7ccead617b1fe77debef35e3cb01419137718829c68457128ff5f6ea6e469b00ccb559d9b4758776937ee6d062aebb
|
data/bin/discover
CHANGED
|
@@ -79,8 +79,7 @@ finder = -> * {
|
|
|
79
79
|
)
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
|
|
83
|
-
when args[?s]
|
|
82
|
+
search = -> * {
|
|
84
83
|
f = nil
|
|
85
84
|
pattern = pattern.dup
|
|
86
85
|
args[?n] = Term::ANSIColor.terminal_lines - 1
|
|
@@ -112,6 +111,11 @@ when args[?s]
|
|
|
112
111
|
else
|
|
113
112
|
exit 1
|
|
114
113
|
end
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
case
|
|
117
|
+
when args[?s]
|
|
118
|
+
search.()
|
|
115
119
|
when args[?E]
|
|
116
120
|
edit_files *finder.().paths, pick: true
|
|
117
121
|
when args[?e]
|
|
@@ -131,7 +135,8 @@ when pattern.empty? && args[?r]
|
|
|
131
135
|
finder.()
|
|
132
136
|
exit
|
|
133
137
|
when pattern.empty?
|
|
134
|
-
|
|
138
|
+
args[?e] = true
|
|
139
|
+
search.()
|
|
135
140
|
else
|
|
136
141
|
puts finder.().search.output
|
|
137
142
|
end
|
data/bin/search
CHANGED
|
@@ -7,6 +7,7 @@ require 'tins/xt'
|
|
|
7
7
|
include Tins::GO
|
|
8
8
|
require 'term/ansicolor'
|
|
9
9
|
include Term::ANSIColor
|
|
10
|
+
require 'tempfile'
|
|
10
11
|
|
|
11
12
|
def convert_ruby_to_vim_regexp(pattern)
|
|
12
13
|
regexp = pattern.source.dup
|
|
@@ -18,14 +19,14 @@ end
|
|
|
18
19
|
def read_line(path)
|
|
19
20
|
filename, lineno = path.source_location
|
|
20
21
|
line = File.open(filename) do |file|
|
|
21
|
-
file.lazy.each_with_index.select { |l, n| n + 1 == lineno }.first&.first
|
|
22
|
+
file.lazy.each_with_index.select { |l, n| n + 1 == lineno }.first&.first
|
|
22
23
|
end
|
|
23
24
|
end
|
|
24
25
|
|
|
25
26
|
def replace_line(path, new_line)
|
|
26
27
|
filename, lineno = path.source_location
|
|
27
|
-
|
|
28
|
-
File.open(filename) do |file|
|
|
28
|
+
Tempfile.open do |output|
|
|
29
|
+
File.open(filename, 'r+') do |file|
|
|
29
30
|
file.each_with_index do |line, n|
|
|
30
31
|
if n + 1 == lineno
|
|
31
32
|
output.write new_line
|
|
@@ -33,6 +34,11 @@ def replace_line(path, new_line)
|
|
|
33
34
|
output.write line
|
|
34
35
|
end
|
|
35
36
|
end
|
|
37
|
+
file.rewind
|
|
38
|
+
output.rewind
|
|
39
|
+
output.each do |line|
|
|
40
|
+
file.write line
|
|
41
|
+
end
|
|
36
42
|
end
|
|
37
43
|
end
|
|
38
44
|
end
|
|
@@ -51,7 +57,7 @@ def replace_ask(editor, path, pattern, replace, all)
|
|
|
51
57
|
replace_line path, new_line
|
|
52
58
|
break true
|
|
53
59
|
else
|
|
54
|
-
print "Replace? (#{bold(?y)}/n/e/a) "
|
|
60
|
+
print "Replace? (#{bold(?y)}/n/e/a/q) "
|
|
55
61
|
case answer = STDIN.gets.chomp
|
|
56
62
|
when ?y, '', ?a
|
|
57
63
|
new_line = line.gsub(pattern.matcher, replace)
|
|
@@ -59,6 +65,8 @@ def replace_ask(editor, path, pattern, replace, all)
|
|
|
59
65
|
break answer == ?a
|
|
60
66
|
when ?n
|
|
61
67
|
break false
|
|
68
|
+
when ?q
|
|
69
|
+
throw :quit
|
|
62
70
|
when ?e
|
|
63
71
|
editor.edit(path.strip)
|
|
64
72
|
break false
|
|
@@ -78,8 +86,10 @@ def edit_files(pattern, paths, pick: false, replace: nil)
|
|
|
78
86
|
when replace
|
|
79
87
|
editor.wait = true
|
|
80
88
|
all = false
|
|
81
|
-
|
|
82
|
-
|
|
89
|
+
catch :quit do
|
|
90
|
+
for path in paths
|
|
91
|
+
all |= replace_ask editor, path, pattern, replace, all
|
|
92
|
+
end
|
|
83
93
|
end
|
|
84
94
|
when pick
|
|
85
95
|
if paths.size > 1
|
data/lib/utils/version.rb
CHANGED
data/utils.gemspec
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
|
-
# stub: utils 0.
|
|
2
|
+
# stub: utils 0.36.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.36.0"
|
|
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 = "2023-
|
|
11
|
+
s.date = "2023-06-09"
|
|
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, "check-yaml".freeze, "classify".freeze, "create_cstags".freeze, "create_tags".freeze, "discover".freeze, "edit".freeze, "edit_wait".freeze, "enum".freeze, "fix-brew".freeze, "git-empty".freeze, "git-versions".freeze, "irb_connect".freeze, "json_check".freeze, "long_lines".freeze, "myex".freeze, "number_files".freeze, "on_change".freeze, "path".freeze, "probe".freeze, "rd2md".freeze, "search".freeze, "sedit".freeze, "serve".freeze, "ssh-tunnel".freeze, "strip_spaces".freeze, "untest".freeze, "utils-utilsrc".freeze, "vcf2alias".freeze]
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: utils
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.36.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Florian Frank
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-
|
|
11
|
+
date: 2023-06-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: gem_hadar
|