hiiro 0.1.189 → 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 -20
- data/lib/hiiro/version.rb +1 -1
- metadata +1 -1
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,19 +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
|
-
tree_name || '(none)',
|
|
971
|
-
branch_str,
|
|
972
|
-
session_str)
|
|
984
|
+
{
|
|
985
|
+
name: display_name,
|
|
986
|
+
tree: tree_name || '(none)',
|
|
987
|
+
branch: "[#{branch}]",
|
|
988
|
+
session: "(#{session_name || '(none)'})"
|
|
989
|
+
}
|
|
973
990
|
end
|
|
974
991
|
end
|
|
975
992
|
|
data/lib/hiiro/version.rb
CHANGED