diff --git a/plugin/vimux.vim b/plugin/vimux.vim index bd3a2db..5011120 100644 --- a/plugin/vimux.vim +++ b/plugin/vimux.vim @@ -96,7 +96,7 @@ function! VimuxTogglePane() call _VimuxTmux("join-pane -d -s ".g:VimuxRunnerIndex." -p "._VimuxOption("g:VimuxHeight", 20)) let g:VimuxRunnerType = "pane" elseif _VimuxRunnerType() == "pane" - let g:VimuxRunnerIndex=substitute(_VimuxTmux("break-pane -d -t ".g:VimuxRunnerIndex." -P -F '#{window_index}'"), "\n", "", "") + let g:VimuxRunnerIndex=substitute(_VimuxTmux("break-pane -d -t ".g:VimuxRunnerIndex." -P -F '#{window_id}'"), "\n", "", "") let g:VimuxRunnerType = "window" endif endif @@ -156,26 +156,27 @@ endfunction function! _VimuxTmuxIndex() if _VimuxRunnerType() == "pane" - return _VimuxTmuxPaneIndex() + return _VimuxTmuxPaneId() else - return _VimuxTmuxWindowIndex() + return _VimuxTmuxWindowId() end endfunction -function! _VimuxTmuxPaneIndex() - return _VimuxTmuxProperty("#I.#P") +function! _VimuxTmuxPaneId() + return _VimuxTmuxProperty("#{pane_id}") endfunction -function! _VimuxTmuxWindowIndex() - return _VimuxTmuxProperty("#I") +function! _VimuxTmuxWindowId() + return _VimuxTmuxProperty("#{window_id}") endfunction function! _VimuxNearestIndex() - let views = split(_VimuxTmux("list-"._VimuxRunnerType()."s"), "\n") + let t = _VimuxRunnerType() + let views = split(_VimuxTmux("list-".t."s -F '#{".t."_active}:#{".t."_id}'"), "\n") for view in views - if match(view, "(active)") == -1 - return split(view, ":")[0] + if match(view, "1:") == -1 + return split(view, ":")[1] endif endfor @@ -199,5 +200,6 @@ function! _VimuxTmuxProperty(property) endfunction function! _VimuxHasRunner(index) - return match(_VimuxTmux("list-"._VimuxRunnerType()."s -a"), a:index.":") + let t = _VimuxRunnerType() + return match(_VimuxTmux("list-".t."s -F '#{".t."_id}'"), a:index) endfunction