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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6a1dfe8868ee27e926e81edb4d93f9dd75bab129a493985a00505a267088e32c
4
- data.tar.gz: c5f7a4fb1aea909d05ebb8e00a737bc28bf7524a19e4f52f7af518aba508d5f0
3
+ metadata.gz: 00d61f29ccdc547d37007e61e81488c54e366a574d8f5d95efef42eaeb234c2d
4
+ data.tar.gz: cc2b2fa6c52956a5d780b07820d86350c1a585f6df05166378a420a22e391f8e
5
5
  SHA512:
6
- metadata.gz: 9dc4b695cbb678fa4ec76e940baba3356c67f6eeb551bcef4dd7f42de63c247fe42b9b98403a08ff7b0af406de0ce109d7bdbac9eda37dee71938b432566f114
7
- data.tar.gz: f16b50413fd3c6e01b206bc385f08157fa504466470ad1dbb84dd9513c0253961f2c5a81f928fff0334241d40ac7fb1d64dd1a3e3e62da835e0ca4ea5b952cc8
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
- first_member = members.first
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
- # Subsequent services get split panes
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, base_dir)
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
- system('tmux', 'send-keys', '-t', pane_id, script, 'Enter')
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", "set -e"]
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, start_dir)
813
- system('tmux', 'new-window', '-d', '-t', session, '-n', name, '-c', start_dir)
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, start_dir)
822
- system('tmux', 'split-window', '-d', '-t', window_target, '-c', start_dir)
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
@@ -1,3 +1,3 @@
1
1
  class Hiiro
2
- VERSION = "0.1.157"
2
+ VERSION = "0.1.158"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hiiro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.157
4
+ version: 0.1.158
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Toyota