diff --git a/vim-files/vimrc b/vim-files/vimrc index 516c04e..6e64802 100644 --- a/vim-files/vimrc +++ b/vim-files/vimrc @@ -265,7 +265,7 @@ endfunc nnoremap :call MoveToNextTab()H nnoremap :call MoveToPrevTab()H -function! RunTests(filename, test_path) +function! RunTests(filename, test_path, debug) let tmux_pane = substitute(system("tmux display-message -p '#S'"),'\n','','') let tmux_pane_target = tmux_pane."_testing:1.0" echo tmux_pane_target @@ -274,13 +274,20 @@ function! RunTests(filename, test_path) if l:tmux_pane == "checkout" " checkout uses py.test (or uh it will) if a:test_path != ' ' - let full_test_path = a:filename."::".a:test_path + let pytest_path = substitute(a:test_path, "\\.", "::", "") + let full_test_path = a:filename."::".l:pytest_path else let full_test_path = a:filename endif + if a:debug == 1 + let test_args = "-- -x --ipdb " + else + let test_args = '' + endif + if l:full_test_path != "::" - let command = "silent !tmux send-keys -t ".tmux_pane_target." C-c ' tox ".full_test_path." 2>/dev/null' Enter" + let command = "silent !tmux send-keys -t ".tmux_pane_target." C-c ' tox ".test_args.full_test_path." 2>/dev/null' Enter" else let command = "silent !tmux send-keys -t ".tmux_pane_target." C-c ' make test 2>/dev/null' Enter" endif @@ -291,8 +298,15 @@ function! RunTests(filename, test_path) else let full_test_path = a:filename endif + + if a:debug == 1 + let test_args = "-d " + else + let test_args = '' + endif + if l:full_test_path != " " - let command = "silent !tmux send-keys -t ".tmux_pane_target." C-c ' testify ".full_test_path."' Enter" + let command = "silent !tmux send-keys -t ".tmux_pane_target." C-c ' testify ".test_args.full_test_path."' Enter" endif endif echo command @@ -309,6 +323,7 @@ function! StoreTestPath(filename, lineno) endfun map s :call StoreTestPath(expand("%"), line(".")) -map T :w\|:call StoreTestPath(expand("%"), line("."))\|:call RunTests(g:t, g:f) -map t :w\|:call RunTests(g:t, g:f) -map m :call RunTests("", "") +map T :w\|:call StoreTestPath(expand("%"), line("."))\|:call RunTests(g:t, g:f, 0) +map t :w\|:call RunTests(g:t, g:f, 0) +map dt :w\|:call RunTests(g:t, g:f, 1) +map m :call RunTests("", "", 0)