I'm working on a Vim compiler plugin for PHPUnit.

I've written the following errorformat. The error message is correctly extracted, but file and line numbers are not.

CompilerSet errorformat=%E%n)\ %.%#,
                       \%C%m,
                       \%+C%$,
                       \%C%f:%l,
                       \%Z%$

PHPUnit's output looks something like this:

PHPUnit 3.5.12 by Sebastian Bergmann.

...............................................................  63 / 134 ( 47%)
.........................E.....

Time: 0 seconds, Memory: 11.25Mb

There was 1 error:

1) SomeClassTest::testSomething
Undefined property: SomeClass::$var

/path/to/SomeClass.php:99
/path/to/SomeClassTest.php:15

FAILURES!
Tests: 94, Assertions: 170, Errors: 1.

Press ENTER or type command to continue

I'm happy for the reported file and line to be either the first or last entry in the stack trace. The deepest call is the actual source of the issue. Jumping to the top-level call means I can use to step down into the call stack. I would prefer the latter, SomeClassTest.php:15 in the example above.

Edit
Report