Reset the s:vim_pane when reattaching
Prior to this change, VTR could get confused and focus the wrong pane after reattaching the runner pane. Closes #38 - Detaching the runner pane does not reset the vim_pane
This commit is contained in:
		
							parent
							
								
									8399c4ab7b
								
							
						
					
					
						commit
						fa1e9a53e3
					
				| @ -185,6 +185,7 @@ function! s:BreakRunnerPaneToTempWindow() | ||||
|     call s:SendTmuxCommand(full_command) | ||||
|     let s:detached_window = s:LastWindowNumber() | ||||
|     unlet s:runner_pane | ||||
|     unlet s:vim_pane | ||||
| endfunction | ||||
| 
 | ||||
| function! s:RunnerDimensionSpec() | ||||
| @ -192,14 +193,6 @@ function! s:RunnerDimensionSpec() | ||||
|     return dimensions | ||||
| endfunction | ||||
| 
 | ||||
| function! s:_ReattachPane() | ||||
|     let join_cmd = join(["join-pane", "-s", ":".s:detached_window.".0", | ||||
|         \ s:RunnerDimensionSpec()]) | ||||
|     call s:SendTmuxCommand(join_cmd) | ||||
|     unlet s:detached_window | ||||
|     let s:runner_pane = s:ActivePaneIndex() | ||||
| endfunction | ||||
| 
 | ||||
| function! s:TmuxInfo(message) | ||||
|   " TODO: this should accept optional target pane, default to current. | ||||
|   " Pass that to TargetedCommand as "display-message", "-p '#{...}') | ||||
| @ -273,6 +266,7 @@ endfunction | ||||
| 
 | ||||
| function! s:ReattachPane() | ||||
|     if !s:DetachedPaneAvailable() | return | endif | ||||
|     let s:vim_pane = s:ActivePaneIndex() | ||||
|     call s:_ReattachPane() | ||||
|     call s:FocusVimPane() | ||||
|     if g:VtrClearOnReattach | ||||
| @ -280,6 +274,14 @@ function! s:ReattachPane() | ||||
|     endif | ||||
| endfunction | ||||
| 
 | ||||
| function! s:_ReattachPane() | ||||
|     let join_cmd = join(["join-pane", "-s", ":".s:detached_window.".0", | ||||
|         \ s:RunnerDimensionSpec()]) | ||||
|     call s:SendTmuxCommand(join_cmd) | ||||
|     unlet s:detached_window | ||||
|     let s:runner_pane = s:ActivePaneIndex() | ||||
| endfunction | ||||
| 
 | ||||
| function! s:ReorientRunner() | ||||
|     if !s:ValidRunnerPaneSet() | return | endif | ||||
|     let temp_window = s:BreakRunnerPaneToTempWindow() | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user