Mercurial > hg > Members > atton > pmux
annotate lib/pmuxinator/project.rb @ 2:67a6071afec7
Rename tmuxinator -> pmuxinator
$ zmv **/*tmuxinator* **/*pmuxinator*
$ gsed -e 's/tmuxinator/pmuxinator/g' -i **/*.*
$ gsed -e 's/Tmuxinator/Pmuxinator/g' -i **/*.*
author | Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 21 Jul 2014 08:32:00 +0900 |
parents | |
children |
rev | line source |
---|---|
2
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 module Pmuxinator |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 class Project |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 include Pmuxinator::Util |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 include Pmuxinator::Deprecations |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 include Pmuxinator::WemuxSupport |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 attr_reader :yaml |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 def initialize(yaml) |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 @yaml = yaml |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 load_wemux_overrides if wemux? |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
13 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
14 def render |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 template = File.read(Pmuxinator::Config.template) |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 Erubis::Eruby.new(template).result(binding) |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 def windows |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
20 windows_yml = yaml["tabs"] || yaml["windows"] |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 @windows ||= windows_yml.map.with_index do |window_yml, index| |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23 Pmuxinator::Window.new(window_yml, index, self) |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
27 def root |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
28 root = yaml["project_root"] || yaml["root"] |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
29 root.blank? ? nil : File.expand_path(root) |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
30 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
31 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 def name |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
33 name = yaml["project_name"] || yaml["name"] |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
34 name.shellescape |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
35 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
36 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
37 def pre |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
38 pre_config = yaml["pre"] |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
39 if pre_config.is_a?(Array) |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
40 pre_config.join("; ") |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
41 else |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
42 pre_config |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
43 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
44 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
45 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
46 def pre_window |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
47 if rbenv? |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
48 "rbenv shell #{yaml["rbenv"]}" |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
49 elsif rvm? |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
50 "rvm use #{yaml["rvm"]}" |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
51 elsif pre_tab? |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
52 yaml["pre_tab"] |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
53 else |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
54 yaml["pre_window"] |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
55 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
56 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
57 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
58 def tmux |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
59 "#{tmux_command}#{tmux_options}#{socket}" |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
60 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
61 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
62 def tmux_command |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
63 yaml["tmux_command"] || "tmux" |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
64 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
65 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
66 def socket |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
67 if socket_path |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
68 " -S #{socket_path}" |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
69 elsif socket_name |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
70 " -L #{socket_name}" |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
71 else |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
72 nil |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
73 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
74 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
75 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
76 def socket_name |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
77 yaml["socket_name"] |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
78 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
79 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
80 def socket_path |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
81 yaml["socket_path"] |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
82 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
83 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
84 def tmux_options |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
85 if cli_args? |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
86 " #{yaml["cli_args"].to_s.strip}" |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
87 elsif tmux_options? |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
88 " #{yaml["tmux_options"].to_s.strip}" |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
89 else |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
90 "" |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
91 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
92 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
93 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
94 def base_index |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
95 get_pane_base_index ? get_pane_base_index.to_i : get_base_index.to_i |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
96 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
97 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
98 def tmux_options? |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
99 yaml["tmux_options"] |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
100 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
101 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
102 def windows? |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
103 windows.any? |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
104 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
105 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
106 def root? |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
107 !root.nil? |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
108 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
109 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
110 def name? |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
111 !name.nil? |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
112 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
113 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
114 def window(i) |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
115 "#{name}:#{i}" |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
116 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
117 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
118 def send_pane_command(cmd, window_index, pane_index) |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
119 if cmd.empty? |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
120 "" |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
121 else |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
122 "#{tmux} send-keys -t #{window(window_index)} #{cmd.shellescape} C-m" |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
123 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
124 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
125 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
126 def send_keys(cmd, window_index) |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
127 if cmd.empty? |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
128 "" |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
129 else |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
130 "#{tmux} send-keys -t #{window(window_index)} #{cmd.shellescape} C-m" |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
131 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
132 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
133 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
134 def deprecations |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
135 deprecations = [] |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
136 deprecations << "DEPRECATION: rbenv/rvm specific options have been replaced by the pre_tab option and will not be supported in 0.8.0." if yaml["rbenv"] || yaml["rvm"] |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
137 deprecations << "DEPRECATION: The tabs option has been replaced by the windows option and will not be supported in 0.8.0." if yaml["tabs"] |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
138 deprecations << "DEPRECATION: The cli_args option has been replaced by the tmux_options option and will not be supported in 0.8.0." if yaml["cli_args"] |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
139 deprecations |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
140 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
141 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
142 def get_pane_base_index |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
143 tmux_config["pane-base-index"] |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
144 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
145 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
146 def get_base_index |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
147 tmux_config["base-index"] |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
148 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
149 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
150 def show_tmux_options |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
151 "#{tmux} start-server\\; show-option -g" |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
152 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
153 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
154 private |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
155 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
156 def tmux_config |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
157 @tmux_config ||= extract_tmux_config |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
158 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
159 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
160 def extract_tmux_config |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
161 options_hash = {} |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
162 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
163 options_string = `#{show_tmux_options}` |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
164 options_string.encode!("UTF-8", :invalid => :replace) |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
165 options_string.split("\n").map do |entry| |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
166 key, value = entry.split("\s") |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
167 options_hash[key] = value |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
168 options_hash |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
169 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
170 |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
171 options_hash |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
172 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
173 end |
67a6071afec7
Rename tmuxinator -> pmuxinator
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
174 end |