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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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