Browse files

rcov.vim, README.vim, CHANGES: vim support for --text-coverage-diff.

  • Loading branch information...
1 parent 5e5d2ab commit 28c641376db1b579a865930621a4106397357425 @mfp mfp committed Jun 10, 2006
Showing with 86 additions and 1 deletion.
  1. +2 −1 CHANGES
  2. +46 −0 README.vim
  3. +38 −0 rcov.vim
@@ -7,7 +7,8 @@ Features
* differential coverage report: --text-coverage-diff (-D) and --save
Tells you when you've added new code that was not covered by the tests and
- when code that used to be covered isn't anymore.
+ when code that used to be covered isn't anymore. Integration with vim
+ (contributions for other editors/IDEs welcome).
* fully cross-referenced reports, indicating where methods are called from
and which methods were called for each line (--xrefs)
* cross-referenced report generation is now over 4 times faster for
46 README.vim
@@ -0,0 +1,46 @@
+rcov.vim allows you to run test unit tests from vim and enter quickfix mode in
+order to jump to uncovered code introduced since the last run.
+Copy rcov.vim to the appropriate "compiler" directory (typically
+Setting the reference point
+rcov's --text-coverage-diff mode compares the current coverage status against
+a previously stored one. It therefore needs that information to be saved
+before you write new code (typically right after you perform a commit) in
+order to have something to compare against.
+You can save the current status with the --save option.
+If you're running rcov from Rake, you can do something like
+ rake rcov_units RCOVOPTS="-T --save --rails"
+in order to take the current status as the reference point.
+Comparing with a recorded coverage status
+Type the following in command mode while editing your program:
+ :compiler rcov
+rcov.vim assumes rcov can be invoked with a rake task (see README.rake for
+information on how to create it).
+You can then execute rcov and enter quickfix mode by typing
+ :make <taskname>
+where taskname is the rcov task you want to use; if you didn't override the
+default name in the Rakefile, just
+ :make rcov
+will do.
+vim will then enter quickfix mode, allowing you to jump to the areas that were
+not covered since the last time you saved the coverage data.
38 rcov.vim
@@ -0,0 +1,38 @@
+" Vim compiler file
+" Language: Ruby
+" Function: Code coverage information with rcov
+" Maintainer: Mauricio Fernandez <mfp at acm dot org>
+" Info:
+" URL:
+" ----------------------------------------------------------------------------
+" Changelog:
+" 0.1: initial version, shipped with rcov 0.6.0
+" Comments:
+" Initial attempt.
+" ----------------------------------------------------------------------------
+if exists("current_compiler")
+ finish
+let current_compiler = "rcov"
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+let s:cpo_save = &cpo
+set cpo-=C
+CompilerSet makeprg=rake\ $*\ RCOVOPTS=\"-D\ --no-html\ --no-color\"\ $*
+CompilerSet errorformat=
+ \%+W\#\#\#\ %f:%l\,
+ \%-C\ \ \ ,
+ \%-C!!\
+let &cpo = s:cpo_save
+unlet s:cpo_save
+" vim: nowrap sw=2 sts=2 ts=8 ff=unix :

0 comments on commit 28c6413

Please sign in to comment.