hiiro 0.1.157 → 0.1.158
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/service_manager.rb +13 -19
- 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: 00d61f29ccdc547d37007e61e81488c54e366a574d8f5d95efef42eaeb234c2d
|
|
4
|
+
data.tar.gz: cc2b2fa6c52956a5d780b07820d86350c1a585f6df05166378a420a22e391f8e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1cdcd252caf0b31bd14eb765b66e92ff8ad892eb2d0613d7bb3e0f853d322a72797052cc25a7b2a543a0e3e1d90e525655ad9f91b2b40c865640b3c58fb0763a
|
|
7
|
+
data.tar.gz: 162a5028c7e6e8ff3e24c91a9a5d6e442d7488440bc70d2f1021f0001ebfef287f0cb9ead32d5cc35e4884059fef0ccc7945b3330a269e78407d158ae892fed3
|
|
@@ -82,13 +82,7 @@ class Hiiro
|
|
|
82
82
|
puts "Starting group '#{group[:name]}'..."
|
|
83
83
|
|
|
84
84
|
# Create one window for the group, split panes for each service
|
|
85
|
-
|
|
86
|
-
first_name = first_member['name'] || first_member[:name]
|
|
87
|
-
first_svc = find_service(first_name)
|
|
88
|
-
first_base_dir = resolve_base_dir(first_svc&.[](:base_dir))
|
|
89
|
-
|
|
90
|
-
# Create a new window for the group
|
|
91
|
-
window_target = create_tmux_window(session, group[:name], first_base_dir)
|
|
85
|
+
window_target = create_tmux_window(session, group[:name])
|
|
92
86
|
first_pane_id = capture_pane_id(window_target)
|
|
93
87
|
|
|
94
88
|
members.each_with_index do |member, idx|
|
|
@@ -98,14 +92,10 @@ class Hiiro
|
|
|
98
92
|
svc = find_service(member_name)
|
|
99
93
|
next unless svc
|
|
100
94
|
|
|
101
|
-
base_dir = resolve_base_dir(svc[:base_dir])
|
|
102
|
-
|
|
103
95
|
if idx == 0
|
|
104
|
-
# First service uses the initial pane
|
|
105
96
|
pane_id = first_pane_id
|
|
106
97
|
else
|
|
107
|
-
|
|
108
|
-
pane_id = split_tmux_pane(window_target, base_dir)
|
|
98
|
+
pane_id = split_tmux_pane(window_target)
|
|
109
99
|
end
|
|
110
100
|
|
|
111
101
|
member_tmux_info = tmux_info.merge(
|
|
@@ -203,7 +193,7 @@ class Hiiro
|
|
|
203
193
|
|
|
204
194
|
if session && !skip_window_creation
|
|
205
195
|
# Create a new tmux window for this service
|
|
206
|
-
window_target = create_tmux_window(session, svc_name
|
|
196
|
+
window_target = create_tmux_window(session, svc_name)
|
|
207
197
|
pane_id = capture_pane_id(window_target)
|
|
208
198
|
elsif session && skip_window_creation
|
|
209
199
|
# Pane already created by start_group
|
|
@@ -215,7 +205,7 @@ class Hiiro
|
|
|
215
205
|
end
|
|
216
206
|
|
|
217
207
|
if pane_id
|
|
218
|
-
|
|
208
|
+
send_to_pane(pane_id, base_dir, script)
|
|
219
209
|
else
|
|
220
210
|
system("cd #{base_dir} && #{script} &")
|
|
221
211
|
end
|
|
@@ -754,7 +744,7 @@ class Hiiro
|
|
|
754
744
|
end
|
|
755
745
|
|
|
756
746
|
def write_shell_script(path, cmds)
|
|
757
|
-
lines = ["#!/usr/bin/env bash"
|
|
747
|
+
lines = ["#!/usr/bin/env bash"]
|
|
758
748
|
lines.concat(cmds)
|
|
759
749
|
File.write(path, lines.join("\n") + "\n")
|
|
760
750
|
File.chmod(0755, path)
|
|
@@ -809,8 +799,8 @@ class Hiiro
|
|
|
809
799
|
`tmux display-message -p '#S'`.chomp
|
|
810
800
|
end
|
|
811
801
|
|
|
812
|
-
def create_tmux_window(session, name
|
|
813
|
-
system('tmux', 'new-window', '-d', '-t', session, '-n', name
|
|
802
|
+
def create_tmux_window(session, name)
|
|
803
|
+
system('tmux', 'new-window', '-d', '-t', session, '-n', name)
|
|
814
804
|
"#{session}:#{name}"
|
|
815
805
|
end
|
|
816
806
|
|
|
@@ -818,12 +808,16 @@ class Hiiro
|
|
|
818
808
|
`tmux list-panes -t #{window_target} -F '\#{pane_id}'`.chomp.split("\n").last
|
|
819
809
|
end
|
|
820
810
|
|
|
821
|
-
def split_tmux_pane(window_target
|
|
822
|
-
system('tmux', 'split-window', '-d', '-t', window_target
|
|
811
|
+
def split_tmux_pane(window_target)
|
|
812
|
+
system('tmux', 'split-window', '-d', '-t', window_target)
|
|
823
813
|
system('tmux', 'select-layout', '-t', window_target, 'even-vertical')
|
|
824
814
|
`tmux list-panes -t #{window_target} -F '\#{pane_id}'`.chomp.split("\n").last
|
|
825
815
|
end
|
|
826
816
|
|
|
817
|
+
def send_to_pane(pane_id, base_dir, script)
|
|
818
|
+
system('tmux', 'send-keys', '-t', pane_id, "cd #{base_dir} && #{script}", 'Enter')
|
|
819
|
+
end
|
|
820
|
+
|
|
827
821
|
def load_config
|
|
828
822
|
return {} unless File.exist?(config_file)
|
|
829
823
|
YAML.safe_load_file(config_file, permitted_classes: [Symbol]) || {}
|
data/lib/hiiro/version.rb
CHANGED