是否有已知的Vim插件,可以通过显示绿色或红色条来显示Rails测试是否通过或失败。我个人觉得Growl通知相当分散注意力,正在寻找替代方法,但找不到任何东西。 类似这样的东西就是我想要的。。
编辑:我在OSX 10.6上使用MacVim
是否有已知的Vim插件,可以通过显示绿色或红色条来显示Rails测试是否通过或失败。我个人觉得Growl通知相当分散注意力,正在寻找替代方法,但找不到任何东西。 类似这样的东西就是我想要的。。
编辑:我在OSX 10.6上使用MacVim
Autotest::Screen
吗?这是我在$VIMFILES/ftplugin/python/tests.vim
文件中的内容:
function! RunAllTests(args)
silent ! echo -e "\033[1;36mRunning all unit tests\033[0m"
if filereadable(getcwd() . "/runtests.py")
set makeprg=./runtests.py\ --with-machineout
elseif filereadable(getcwd() . "/manage.py") && filereadable(getcwd() . "/settings.py")
set makeprg=./manage.py\ test\ --with-machineout\ --verbosity=0
else
set makeprg=nosetests\ --with-machineout
endif
exec "make! " . a:args
endfunction
function! JumpToError()
if getqflist() != []
for error in getqflist()
if error['valid']
break
endif
endfor
let error_message = substitute(error['text'], '^ *', '', 'g')
silent cc!
if error['bufnr'] != 0
exec ":sbuffer " . error['bufnr']
endif
call RedBar()
echo error_message
else
call GreenBar()
echo "All tests passed"
endif
endfunction
function! RedBar()
hi RedBar ctermfg=white ctermbg=red guibg=red
echohl RedBar
echon repeat(" ",&columns - 1)
echohl None
endfunction
function! GreenBar()
hi GreenBar ctermfg=white ctermbg=green guibg=green
echohl GreenBar
echon repeat(" ",&columns - 1)
echohl None
endfunction
let maplocalleader=","
nmap <LocalLeader>a :call RunAllTests("--machine-out")<cr>:redraw<cr>:call JumpToError()<cr>
nmap <LocalLeader>A :call RunAllTests("")<cr>
我最初是基于Gary的.vimrc进行修改的,然后移动了一些东西并重新编写了显示栏的方法。
我相信它可以很容易地适应Ruby和它用于测试运行的任何内容(我不是Ruby专家)。目前,它使用nosetests来运行Python测试。
希望这有所帮助!