From ca66df9ec77dcb78e94bb3ac9c5130e1d12ccb37 Mon Sep 17 00:00:00 2001 From: Chris Toomey Date: Fri, 23 Nov 2012 00:43:19 -0500 Subject: [PATCH] Pass all tmux calls through same function --- plugin/vim-tmux-runner.vim | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/plugin/vim-tmux-runner.vim b/plugin/vim-tmux-runner.vim index 60cd880..f12ea53 100644 --- a/plugin/vim-tmux-runner.vim +++ b/plugin/vim-tmux-runner.vim @@ -18,19 +18,18 @@ endfunction function! s:OpenRunnerPane() let s:cached_vim_pane = s:ActiveTmuxPaneNumber() - call system("tmux split-window -p 20 -v") + call s:CallTmuxCommand("split-window -p 20 -v") let s:cached_runner_pane = s:ActiveTmuxPaneNumber() call s:FocusTmuxPane(s:cached_vim_pane) endfunction function! s:KillRunnerPane() - call system("tmux kill-pane -t " . s:cached_runner_pane) + call s:CallTmuxCommand("kill-pane -t " . s:cached_runner_pane) unlet s:cached_runner_pane endfunction function! s:ActiveTmuxPaneNumber() - let panes = system("tmux list-panes") - for pane_title in split(panes, '\n') + for pane_title in s:TmuxPanes() if pane_title =~ '\(active\)' return pane_title[0] endif @@ -38,21 +37,26 @@ function! s:ActiveTmuxPaneNumber() endfunction function! s:TmuxPanes() - let panes = system("tmux list-panes") + let panes = s:CallTmuxCommand("list-panes") return split(panes, '\n') endfunction function! s:FocusTmuxPane(pane_number) - call system("tmux select-pane -t " . a:pane_number) + call s:CallTmuxCommand("select-pane -t " . a:pane_number) endfunction function! s:FocusRunnerPane() call s:FocusTmuxPane(s:cached_runner_pane) endfunction +function! s:CallTmuxCommand(command) + let prexied_command = "tmux " . a:command + return system(prexied_command) +endfunction + command! VTROpenRunner :call s:OpenRunnerPane() command! VTRKillRunner :call s:KillRunnerPane() command! VTRFocusRunnerPane :call s:FocusRunnerPane() -nmap ,vm :VTROpenRunner -nmap ,kv :VTRKillRunner -nmap ,fp :VTRFocusRunnerPane +nmap ,or :VTROpenRunner +nmap ,kr :VTRKillRunner +nmap ,fr :VTRFocusRunnerPane