hiiro 0.1.273 → 0.1.275
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/CHANGELOG.md +1 -1
- data/bin/h-bg +5 -5
- data/bin/h-pr +33 -4
- data/exe/h +7 -1
- 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: de15e42b4ef41a39549df14ac619a8fa60d4503fe112838c760ed94565d78426
|
|
4
|
+
data.tar.gz: 0c1886d398a5f233c2ac4c22c1b8ce25ce231ee4005879507662156fe735e532
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7be251d320a685f50cd0ba442fccaff2559c1cfeee2ded2fce185d54b21d3bc8953aa0b73a2c577e3c38c01b1a03317c54f3573922261383f55f067e813096b8
|
|
7
|
+
data.tar.gz: 0b75738d860076700cad4d0e9b7df3cb7c661f1ef47e7d4ba71e48b6c9e10a40699d46efa6ac2af8b889d0a7e3df3432a2528cc3ef45834ce2d01b75f7b8ce07
|
data/CHANGELOG.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Done. CHANGELOG.md updated
|
|
1
|
+
Done. CHANGELOG.md updated with v0.1.275 entry at the top, dated 2026-03-24, with the `h-pr sync` subcommand addition.
|
data/bin/h-bg
CHANGED
|
@@ -70,10 +70,10 @@ Hiiro.run(*ARGV) do
|
|
|
70
70
|
end
|
|
71
71
|
|
|
72
72
|
add_subcmd(:setup) do
|
|
73
|
-
puts 'Add this to your tmux.conf:'
|
|
74
|
-
puts
|
|
75
|
-
puts "
|
|
76
|
-
puts
|
|
77
|
-
puts "Then reload tmux: tmux source-file ~/.tmux.conf"
|
|
73
|
+
$stderr.puts 'Add this to your tmux.conf:'
|
|
74
|
+
$stderr.puts
|
|
75
|
+
puts "bind-key b display-popup -E -w 80% -h 40% \"h bg popup\""
|
|
76
|
+
$stderr.puts
|
|
77
|
+
$stderr.puts "Then reload tmux: tmux source-file ~/.tmux.conf"
|
|
78
78
|
end
|
|
79
79
|
end
|
data/bin/h-pr
CHANGED
|
@@ -515,6 +515,10 @@ class PinnedPRManager
|
|
|
515
515
|
end
|
|
516
516
|
end
|
|
517
517
|
|
|
518
|
+
def strip_ansi(str)
|
|
519
|
+
str.gsub(/\e\[[0-9;]*m/, '')
|
|
520
|
+
end
|
|
521
|
+
|
|
518
522
|
def display_check_runs(pr, indent: " ")
|
|
519
523
|
runs = pr.check_runs
|
|
520
524
|
return unless runs.is_a?(Array) && runs.any?
|
|
@@ -574,7 +578,7 @@ FILTER_OPTS = Proc.new {
|
|
|
574
578
|
flag(:red, short: 'r', desc: 'filter: failing checks')
|
|
575
579
|
flag(:green, short: 'g', desc: 'filter: passing checks')
|
|
576
580
|
flag(:conflicts, short: 'c', desc: 'filter: merge conflicts')
|
|
577
|
-
flag(:drafts, short: '
|
|
581
|
+
flag(:drafts, short: 'D', desc: 'filter: draft PRs')
|
|
578
582
|
flag(:pending, short: 'p', desc: 'filter: pending checks')
|
|
579
583
|
flag(:merged, short: 'm', desc: 'filter: merged PRs')
|
|
580
584
|
flag(:active, short: 'o', desc: 'filter: open (non-merged) PRs')
|
|
@@ -593,7 +597,7 @@ Hiiro.run(*ARGV, plugins: [Pins]) do
|
|
|
593
597
|
return nil
|
|
594
598
|
end
|
|
595
599
|
lines = pinned.each_with_index.each_with_object({}) do |(pr, idx), h|
|
|
596
|
-
h[pinned_manager.display_pinned(pr, idx, oneline: true)] = pr.number.to_s
|
|
600
|
+
h[pinned_manager.strip_ansi(pinned_manager.display_pinned(pr, idx, oneline: true))] = pr.number.to_s
|
|
597
601
|
end
|
|
598
602
|
return fuzzyfind_from_map(lines)
|
|
599
603
|
end
|
|
@@ -834,6 +838,7 @@ Hiiro.run(*ARGV, plugins: [Pins]) do
|
|
|
834
838
|
flag(:update, short: 'u', desc: 'update status before listing')
|
|
835
839
|
flag(:verbose, short: 'v', desc: 'multi-line output per PR')
|
|
836
840
|
flag(:checks, short: 'C', desc: 'show individual check run details')
|
|
841
|
+
flag(:diff, short: 'd', desc: 'open diff for selected PR')
|
|
837
842
|
instance_eval(&FILTER_OPTS)
|
|
838
843
|
}
|
|
839
844
|
|
|
@@ -859,6 +864,16 @@ Hiiro.run(*ARGV, plugins: [Pins]) do
|
|
|
859
864
|
next
|
|
860
865
|
end
|
|
861
866
|
|
|
867
|
+
if opts.diff
|
|
868
|
+
lines = results.each_with_index.each_with_object({}) do |(pr, idx), h|
|
|
869
|
+
key = pinned_manager.strip_ansi(pinned_manager.display_pinned(pr, idx, oneline: true))
|
|
870
|
+
h[key] = pr.number.to_s
|
|
871
|
+
end
|
|
872
|
+
pr_number = fuzzyfind_from_map(lines)
|
|
873
|
+
system('gh', 'pr', 'diff', pr_number) if pr_number
|
|
874
|
+
next
|
|
875
|
+
end
|
|
876
|
+
|
|
862
877
|
if opts.numbers
|
|
863
878
|
results.each { |pr| puts pr.number }
|
|
864
879
|
else
|
|
@@ -1182,7 +1197,7 @@ Hiiro.run(*ARGV, plugins: [Pins]) do
|
|
|
1182
1197
|
|
|
1183
1198
|
if ref.nil?
|
|
1184
1199
|
lines = pinned.each_with_index.each_with_object({}) do |(pr, idx), h|
|
|
1185
|
-
h[pinned_manager.display_pinned(pr, idx, oneline: true)] = pr.number.to_s
|
|
1200
|
+
h[pinned_manager.strip_ansi(pinned_manager.display_pinned(pr, idx, oneline: true))] = pr.number.to_s
|
|
1186
1201
|
end
|
|
1187
1202
|
|
|
1188
1203
|
pr_number = fuzzyfind_from_map(lines)
|
|
@@ -1238,6 +1253,20 @@ Hiiro.run(*ARGV, plugins: [Pins]) do
|
|
|
1238
1253
|
system('gh', 'pr', 'merge', pr_number.to_s, *merge_args)
|
|
1239
1254
|
end
|
|
1240
1255
|
|
|
1256
|
+
add_subcmd(:sync) do |ref = nil|
|
|
1257
|
+
pr_number = resolve_pr.call(ref)
|
|
1258
|
+
next unless pr_number
|
|
1259
|
+
|
|
1260
|
+
print "Syncing ##{pr_number} with base branch (rebase)... "
|
|
1261
|
+
rebase_ok = system('gh', 'pr', 'update-branch', '--rebase', pr_number.to_s,
|
|
1262
|
+
out: $stdout, err: $stderr)
|
|
1263
|
+
|
|
1264
|
+
unless rebase_ok
|
|
1265
|
+
puts "Rebase failed (conflicts?), falling back to merge..."
|
|
1266
|
+
system('gh', 'pr', 'update-branch', pr_number.to_s)
|
|
1267
|
+
end
|
|
1268
|
+
end
|
|
1269
|
+
|
|
1241
1270
|
add_subcmd(:fix) do |*fix_args|
|
|
1242
1271
|
opts = Hiiro::Options.parse(fix_args) do
|
|
1243
1272
|
flag(:red, short: :r, desc: 'Fix all PRs with failing checks')
|
|
@@ -1262,7 +1291,7 @@ Hiiro.run(*ARGV, plugins: [Pins]) do
|
|
|
1262
1291
|
next
|
|
1263
1292
|
end
|
|
1264
1293
|
lines = candidates.each_with_index.each_with_object({}) do |(pr, idx), h|
|
|
1265
|
-
h[pinned_manager.display_pinned(pr, idx, oneline: true)] = pr
|
|
1294
|
+
h[pinned_manager.strip_ansi(pinned_manager.display_pinned(pr, idx, oneline: true))] = pr
|
|
1266
1295
|
end
|
|
1267
1296
|
selected = fuzzyfind_from_map(lines)
|
|
1268
1297
|
next unless selected
|
data/exe/h
CHANGED
|
@@ -36,7 +36,13 @@ Hiiro.run(*ARGV, cwd: Dir.pwd, tasks: true) do
|
|
|
36
36
|
|
|
37
37
|
if opts.all
|
|
38
38
|
Hiiro::Rbenv.versions.each do |ver|
|
|
39
|
-
|
|
39
|
+
shell_cmd = [
|
|
40
|
+
"(RBENV_VERSION=#{ver.shellescape} rbenv exec gem update hiiro",
|
|
41
|
+
"|| RBENV_VERSION=#{ver.shellescape} rbenv exec gem install hiiro)",
|
|
42
|
+
"&& RBENV_VERSION=#{ver.shellescape} rbenv exec h setup",
|
|
43
|
+
].join(' ')
|
|
44
|
+
puts "Queuing update for Ruby #{ver}..."
|
|
45
|
+
Hiiro::Background.run('sh', '-c', shell_cmd)
|
|
40
46
|
end
|
|
41
47
|
else
|
|
42
48
|
update_hiiro
|
data/lib/hiiro/version.rb
CHANGED