Class: Tmuxinator::Pane
Instance Attribute Summary collapse
-
#commands ⇒ Object
readonly
Returns the value of attribute commands.
-
#index ⇒ Object
readonly
Returns the value of attribute index.
-
#project ⇒ Object
readonly
Returns the value of attribute project.
-
#tab ⇒ Object
readonly
Returns the value of attribute tab.
Instance Method Summary collapse
-
#initialize(index, project, tab, *commands) ⇒ Pane
constructor
A new instance of Pane.
- #last? ⇒ Boolean
- #multiple_commands? ⇒ Boolean
- #tmux_main_command(command) ⇒ Object
- #tmux_pre_command ⇒ Object
- #tmux_pre_window_command ⇒ Object
- #tmux_split_command ⇒ Object
- #tmux_window_and_pane_target ⇒ Object
Constructor Details
#initialize(index, project, tab, *commands) ⇒ Pane
Returns a new instance of Pane.
5 6 7 8 9 10 |
# File 'lib/tmuxinator/pane.rb', line 5 def initialize(index, project, tab, *commands) @commands = commands @index = index @project = project @tab = tab end |
Instance Attribute Details
#commands ⇒ Object (readonly)
Returns the value of attribute commands.
3 4 5 |
# File 'lib/tmuxinator/pane.rb', line 3 def commands @commands end |
#index ⇒ Object (readonly)
Returns the value of attribute index.
3 4 5 |
# File 'lib/tmuxinator/pane.rb', line 3 def index @index end |
#project ⇒ Object (readonly)
Returns the value of attribute project.
3 4 5 |
# File 'lib/tmuxinator/pane.rb', line 3 def project @project end |
#tab ⇒ Object (readonly)
Returns the value of attribute tab.
3 4 5 |
# File 'lib/tmuxinator/pane.rb', line 3 def tab @tab end |
Instance Method Details
#last? ⇒ Boolean
33 34 35 |
# File 'lib/tmuxinator/pane.rb', line 33 def last? index == tab.panes.length - 1 end |
#multiple_commands? ⇒ Boolean
37 38 39 |
# File 'lib/tmuxinator/pane.rb', line 37 def multiple_commands? commands && commands.length > 0 end |
#tmux_main_command(command) ⇒ Object
24 25 26 |
# File 'lib/tmuxinator/pane.rb', line 24 def tmux_main_command(command) command ? "#{project.tmux} send-keys -t #{project.name}:#{tab.index + project.base_index}.#{index + tab.project.base_index} #{command.shellescape} C-m" : "" end |
#tmux_pre_command ⇒ Object
16 17 18 |
# File 'lib/tmuxinator/pane.rb', line 16 def tmux_pre_command tab.pre ? "#{project.tmux} send-keys -t #{tmux_window_and_pane_target} #{tab.pre.shellescape} C-m" : "" end |
#tmux_pre_window_command ⇒ Object
20 21 22 |
# File 'lib/tmuxinator/pane.rb', line 20 def tmux_pre_window_command project.pre_window ? "#{project.tmux} send-keys -t #{tmux_window_and_pane_target} #{project.pre_window.shellescape} C-m" : "" end |
#tmux_split_command ⇒ Object
28 29 30 31 |
# File 'lib/tmuxinator/pane.rb', line 28 def tmux_split_command path = tab.root? ? "#{Tmuxinator::Config.default_path_option} #{tab.root}" : nil "#{project.tmux} splitw #{path} -t #{tab.tmux_window_target}" end |
#tmux_window_and_pane_target ⇒ Object
12 13 14 |
# File 'lib/tmuxinator/pane.rb', line 12 def tmux_window_and_pane_target "#{project.name}:#{tab.index + project.base_index}.#{index + project.base_index}" end |