hiiro 0.1.188 → 0.1.190
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/hiiro/tasks.rb +37 -18
- data/lib/hiiro/version.rb +1 -1
- metadata +3 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 40ab3fcde780b920c3f1ce71f90c0545bb7d7b81ad469abcc03c0d1bb663fcad
|
|
4
|
+
data.tar.gz: 5528cb4426cb749e241efcec029a2b8e0aa9197743b684c216b7394e9f4c8052
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 796b245499c2ceb2ac1afae24e5e729c8f5404009f104285fffb826126c44f673714f32d44c93d71eea0a88fee41fe9db9a41955e1bdf8063a80eb760d6b2296
|
|
7
|
+
data.tar.gz: 3c65112758d952b7492aa5c1c0956f6acb4091050da3839648f077c59fc95e9f750c52ccedeb87bfb6301910a92d20cc688ac147a70172ec92a0c3e21b55734a
|
data/lib/hiiro/tasks.rb
CHANGED
|
@@ -185,30 +185,44 @@ class Hiiro
|
|
|
185
185
|
puts "#{label}:"
|
|
186
186
|
puts
|
|
187
187
|
|
|
188
|
+
# Collect rows as {prefix, name, tree, branch, session} so we can
|
|
189
|
+
# compute max column widths before rendering.
|
|
190
|
+
rows = []
|
|
188
191
|
items.each do |task|
|
|
189
192
|
marker = (current && current.name == task.name) ? "*" : " "
|
|
190
|
-
|
|
191
|
-
puts "#{marker} #{line}"
|
|
193
|
+
rows << { prefix: "#{marker} ", **task.display_data(scope: scope, environment: environment) }
|
|
192
194
|
|
|
193
195
|
if scope == :task
|
|
194
|
-
|
|
195
|
-
subs.each do |st|
|
|
196
|
+
subtasks(task).each do |st|
|
|
196
197
|
sub_marker = (current && current.name == st.name) ? "*" : " "
|
|
197
|
-
|
|
198
|
-
puts "#{sub_marker} - #{sub_line}"
|
|
198
|
+
rows << { prefix: "#{sub_marker} - ", **st.display_data(scope: :subtask, environment: environment) }
|
|
199
199
|
end
|
|
200
200
|
end
|
|
201
201
|
end
|
|
202
202
|
|
|
203
|
+
# Column widths: the name column absorbs the variable-length prefix so
|
|
204
|
+
# that tree/branch/session always start at the same position.
|
|
205
|
+
name_col = rows.map { |r| r[:prefix].length + r[:name].length }.max
|
|
206
|
+
tree_col = rows.map { |r| r[:tree].length }.max
|
|
207
|
+
branch_col = rows.map { |r| r[:branch].length }.max
|
|
208
|
+
|
|
209
|
+
rows.each do |r|
|
|
210
|
+
name_pad = name_col - r[:prefix].length
|
|
211
|
+
print r[:prefix]
|
|
212
|
+
puts format("%-#{name_pad}s %-#{tree_col}s %-#{branch_col}s %s",
|
|
213
|
+
r[:name], r[:tree], r[:branch], r[:session])
|
|
214
|
+
end
|
|
215
|
+
|
|
203
216
|
available = environment.all_trees.reject { |t|
|
|
204
217
|
environment.all_tasks.any? { |task| task.tree_name == t.name }
|
|
205
218
|
}
|
|
206
219
|
|
|
207
220
|
if available.any?
|
|
208
221
|
puts
|
|
222
|
+
avail_name_col = [available.map { |t| t.name.length }.max, name_col].max
|
|
209
223
|
available.each do |tree|
|
|
210
|
-
branch_str = tree.branch ? "
|
|
211
|
-
puts format("
|
|
224
|
+
branch_str = tree.branch ? "[#{tree.branch}]" : tree.detached? ? "[(detached)]" : ""
|
|
225
|
+
puts format(" %-#{avail_name_col}s (available) %s", tree.name, branch_str).rstrip
|
|
212
226
|
end
|
|
213
227
|
end
|
|
214
228
|
end
|
|
@@ -364,9 +378,15 @@ class Hiiro
|
|
|
364
378
|
|
|
365
379
|
mapping = {}
|
|
366
380
|
|
|
367
|
-
task_list.
|
|
381
|
+
all_data = task_list.map { |t| [t, t.display_data(scope: scope, environment: environment)] }
|
|
382
|
+
name_col = all_data.map { |_, d| d[:name].length }.max || 0
|
|
383
|
+
tree_col = all_data.map { |_, d| d[:tree].length }.max || 0
|
|
384
|
+
branch_col = all_data.map { |_, d| d[:branch].length }.max || 0
|
|
385
|
+
|
|
386
|
+
all_data.each do |task, d|
|
|
368
387
|
display_name = scope == :subtask ? task.short_name : task.name
|
|
369
|
-
line =
|
|
388
|
+
line = format("%-#{name_col}s %-#{tree_col}s %-#{branch_col}s %s",
|
|
389
|
+
d[:name], d[:tree], d[:branch], d[:session])
|
|
370
390
|
mapping[line] = { type: :task, name: display_name }
|
|
371
391
|
end
|
|
372
392
|
|
|
@@ -957,17 +977,16 @@ class Hiiro
|
|
|
957
977
|
h
|
|
958
978
|
end
|
|
959
979
|
|
|
960
|
-
def
|
|
980
|
+
def display_data(scope: :task, environment:)
|
|
961
981
|
display_name = (scope == :subtask) ? short_name : name
|
|
962
982
|
tree = environment.find_tree(tree_name)
|
|
963
983
|
branch = tree&.branch || (tree&.detached? ? '(detached)' : '(none)')
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
session)
|
|
984
|
+
{
|
|
985
|
+
name: display_name,
|
|
986
|
+
tree: tree_name || '(none)',
|
|
987
|
+
branch: "[#{branch}]",
|
|
988
|
+
session: "(#{session_name || '(none)'})"
|
|
989
|
+
}
|
|
971
990
|
end
|
|
972
991
|
end
|
|
973
992
|
|
data/lib/hiiro/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hiiro
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.190
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Joshua Toyota
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: pry
|
|
@@ -186,7 +185,6 @@ metadata:
|
|
|
186
185
|
homepage_uri: https://github.com/unixsuperhero/hiiro
|
|
187
186
|
source_code_uri: https://github.com/unixsuperhero/hiiro
|
|
188
187
|
changelog_uri: https://github.com/unixsuperhero/hiiro/blob/main/CHANGELOG.md
|
|
189
|
-
post_install_message:
|
|
190
188
|
rdoc_options: []
|
|
191
189
|
require_paths:
|
|
192
190
|
- lib
|
|
@@ -201,8 +199,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
201
199
|
- !ruby/object:Gem::Version
|
|
202
200
|
version: '0'
|
|
203
201
|
requirements: []
|
|
204
|
-
rubygems_version:
|
|
205
|
-
signing_key:
|
|
202
|
+
rubygems_version: 4.0.3
|
|
206
203
|
specification_version: 4
|
|
207
204
|
summary: A lightweight CLI framework for Ruby
|
|
208
205
|
test_files: []
|