dcm 0.1.6 → 0.1.8
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/lib/cli.rb +13 -4
- data/lib/live_selector.rb +38 -0
- data/lib/version.rb +1 -1
- metadata +3 -4
- data/bin/fdcm +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9f1914d67e1be3cbf168c50a24a51070753fbf8972891d1a55349c684294ba7
|
4
|
+
data.tar.gz: 8a3414b26dd3f1f2339452deff3f30831dbd8496281074d9e1917f6ac18eabb7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3029519ea99350fd7febe1960a57c5bc406721bc4bd76c072c97c28a92d78747c935900b5e5d8b1d7679187160cb826ec727e2a290ee46e49bde17576846da5e
|
7
|
+
data.tar.gz: a579bc11adca871bedb2fa7c0da5b0b35e62c6a778bce696cef353fa14f6b6f5524ba3eef116b89ae782308c10eb7ef0d2e33c4b1ecd232f0ced258ab7acaa13
|
data/lib/cli.rb
CHANGED
@@ -11,6 +11,7 @@ require_relative "codinginfo"
|
|
11
11
|
require_relative "tempfile_handler"
|
12
12
|
require_relative "diff_viewer"
|
13
13
|
require_relative "variant_filter"
|
14
|
+
require_relative "live_selector"
|
14
15
|
require_relative "list_colorizer"
|
15
16
|
require_relative "core_ext"
|
16
17
|
require_relative "version"
|
@@ -25,7 +26,8 @@ module Dcm
|
|
25
26
|
|
26
27
|
def help(cmd)
|
27
28
|
super
|
28
|
-
puts <<~EOS
|
29
|
+
puts <<~EOS if cmd.match?("creta")
|
30
|
+
|
29
31
|
Options:
|
30
32
|
FILTER may be any of the following keys: #{VariantFilter::ALLOWED_FILTERKEYS.join(", ")}
|
31
33
|
and should have the format key:value
|
@@ -117,9 +119,9 @@ module Dcm
|
|
117
119
|
if options[:include] != ".*" || options[:reject] != "(?!x)x"
|
118
120
|
selector = Regexp.new(options[:include], true)
|
119
121
|
rejector = Regexp.new(options[:reject], true)
|
120
|
-
list = list
|
121
|
-
select { |l| l.match(selector) }
|
122
|
-
reject { |l| l.match(rejector) }
|
122
|
+
list = list
|
123
|
+
.select { |l| l.match(selector) }
|
124
|
+
.reject { |l| l.match(rejector) }
|
123
125
|
end
|
124
126
|
if options[:inlab].present?
|
125
127
|
labfile = Ecu::LabelList.from_lab(File.read(options[:inlab]))
|
@@ -138,6 +140,13 @@ module Dcm
|
|
138
140
|
end
|
139
141
|
end
|
140
142
|
|
143
|
+
desc "liveview FILE", "Live search and view labels in FILE (requires fzf, jq)"
|
144
|
+
def liveview(file=nil)
|
145
|
+
parse_file(file)
|
146
|
+
.then { LiveSelector.new(_1).call }
|
147
|
+
.then { puts ListColorizer.call(_1.to_s(detail: true)) }
|
148
|
+
end
|
149
|
+
|
141
150
|
desc "rename MAPPING FILE", "Rename dcm content"
|
142
151
|
def rename(mapping=nil, file=nil)
|
143
152
|
list = parse_file(file)
|
@@ -0,0 +1,38 @@
|
|
1
|
+
class LiveSelector
|
2
|
+
attr_reader :list
|
3
|
+
def initialize(list)
|
4
|
+
@list = list
|
5
|
+
end
|
6
|
+
|
7
|
+
def select
|
8
|
+
IO.popen(selectorcmd, "r+") do |pipe|
|
9
|
+
list.each { pipe.puts _1.name }
|
10
|
+
pipe.close_write
|
11
|
+
pipe.read.chomp
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def call
|
16
|
+
select
|
17
|
+
.then { find_by_name(_1) }
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def tmpfile
|
23
|
+
TempfileHandler.create(list.to_json)
|
24
|
+
end
|
25
|
+
|
26
|
+
def selectorcmd
|
27
|
+
[
|
28
|
+
"fzf",
|
29
|
+
"--preview",
|
30
|
+
%Q{jq -C '.[] | select(.name == "{}")' #{tmpfile}},
|
31
|
+
]
|
32
|
+
end
|
33
|
+
|
34
|
+
def find_by_name(name)
|
35
|
+
list.find { _1.name == name }
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dcm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonas Mueller
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: automotive-ecu
|
@@ -169,18 +169,17 @@ email:
|
|
169
169
|
- jonas@tigger.cloud
|
170
170
|
executables:
|
171
171
|
- dcm
|
172
|
-
- fdcm
|
173
172
|
extensions: []
|
174
173
|
extra_rdoc_files: []
|
175
174
|
files:
|
176
175
|
- bin/dcm
|
177
|
-
- bin/fdcm
|
178
176
|
- lib/cli.rb
|
179
177
|
- lib/codinginfo.rb
|
180
178
|
- lib/core_ext.rb
|
181
179
|
- lib/diff_viewer.rb
|
182
180
|
- lib/file_reader.rb
|
183
181
|
- lib/list_colorizer.rb
|
182
|
+
- lib/live_selector.rb
|
184
183
|
- lib/tempfile_handler.rb
|
185
184
|
- lib/variant_filter.rb
|
186
185
|
- lib/version.rb
|